Для размещения наиболее популярных записей на сайте используется 2 метода — установка плагина WP-PostViews и размещение кода.
[wp-pic type=»plugin» slug=»wp-postviews» layout=»large» ]
Однозначно данную задачу проще и быстрее решить через плагин WP-PostViews, однако, для тех кого волнует внутренняя оптимизация сайта, рекомендуется устанавливать дополнение вручную. Рассмотрим подробнее размещение лучших статей в сайдбаре сайта без применения плагинов.
Размещение кода для вывода популярных записей
Популярные статьи в блоге могут отбираться по двум критериям:
- количество просмотров посетителями
- количество комментариев
Для этих способов используются разные кода, рассмотрим каждый.
Популярные статьи по количеству просмотров
1. В папке с вашей темой откройте файл functions.php и вставьте код:
function setPostViews($postID) { $count_key = 'post_views_count'; $count = get_post_meta($postID, $count_key, true); if($count==''){ $count = 0; delete_post_meta($postID, $count_key); add_post_meta($postID, $count_key, '0'); }else{ $count++; update_post_meta($postID, $count_key, $count); } } function getPostViews($postID){ $count_key = 'post_views_count'; $count = get_post_meta($postID, $count_key, true); if($count==''){ delete_post_meta($postID, $count_key); add_post_meta($postID, $count_key, '0'); return "0"; } return $count; }
Данный код будет использоваться для подсчета количества просмотров статьи посетителями.
2. Добавляем счетчик количества просмотров. В файл single.php вставьте код указанный ниже:
<!--?php setPostViews(get_the_ID()); ?-->
Примечание: numberposts’ => 5 — количество статей выводимых в блоке сайдбара.
В результате получаем:
Лучшие записи с миниатюрами по количеству комментариев
1. Откройте файл sidebar.php и разместите такой код:
<div class="widget popular"> <h3 class="widget-title">Популярные статьи</h3> <ul> <?php $posts_qty = 5; $period = 90; $interval = date('Y-m-d', strtotime("-$period days")); $result = $wpdb->get_results("SELECT * FROM $wpdb->posts WHERE post_type = 'post' AND post_status = 'publish' AND post_date > '$interval' ORDER BY comment_count DESC LIMIT 0 , $posts_qty"); foreach ($result as $post) : setup_postdata($post); ?> <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> (<?php comments_number('0', '1', '%'); ?>)</li> <?php endforeach; ?> </ul> </div>
Примечание: posts_qty = 5 — количество статей, period = 90 — количество дней
При желании вы можете указать свои настройки.
2. Откройте файл style.css и добавьте стили. Для этого вставьте код:
.popular ul li{ line-height:16px; display:block; border-bottom:1px solid #ECECEC; padding:15px 0px 20px 0px; height:50px; font-size:12px; } .popular ul li img { width: 55px; height: 55px; padding: 2px; float: left; margin: 0 13px 0 0px; background: #FFFFFF; border: 1px solid #D0D0BB; border-radius: 5px; box-shadow: 0 0 5px #666666; } .popular li img:hover { border: 1px solid #ffffff; padding: 2px; margin: 0 5px 0 4px; }
Важно: для того что бы все работало правильно, каждой статье должна быть присвоена своя миниатюра.
Получаем такой перечень лучших статей с миниатюрами
И напоследок, для проведения аналитики популярности записей в вашем блоге в панель администратора можно добавить счетчик количества просмотров статей.
Для этого в файл functinos.php добавьте такой код:
function get_PostViews($post_ID){ $count_key = 'post_views_count'; $count = get_post_meta($post_ID, $count_key, true); return $count; } function post_column_views($newcolumn){ $newcolumn['post_views'] = __('Просмотры'); return $newcolumn; } function post_custom_column_views($column_name, $id){ if($column_name === 'post_views'){ echo get_PostViews(get_the_ID()); } } add_filter('manage_posts_columns', 'post_column_views'); add_action('manage_posts_custom_column', 'post_custom_column_views',10,2);
Таким образом, можно самостоятельно, без использования плагинов, создать блок лучших статей в сайдбаре сайта. Целесообразнее использовать именно такой метод, так как большое количество установленных плагинов плохо сказывается на работоспособности сайта в целом.