Как отображать популярные записи WordPress по дням, неделям и …
Приветствуем вас! В этой статье мы покажем вам, как показывать популярные записи за день, неделю, месяц и за все время в WordPress. Давайте мы сразу ответим на вопрос, зачем нужно отображать популярные сообщения на вашем сайте WordPress? Все просто.
Из этой статьи вы узнаете:
Вывод популярных записей с помощью плагина
Как отображать популярные записи без плагина
Во, первых популярные сообщения позволяют вашим посетителям быстро находить ваш лучший контент, а также увеличить число просмотра страниц. Во, вторых это поможет вам. Благодаря демонстрации популярных сообщений вы поймете какие статьи на блоге редко читаются и их можно отредактировать.
Конечно если у вас с посещаемостью туго, то пока можно и не выводить популярные записи, но это опять же наше мнение. Ну с этим вроде разобрались. Давайте не будем ходить вокруг да около и сразу приступим к выполнению нашей поставленной задачи. Мы покажем вам 2 способа вывода сообщений с плагином и без него. Итак, приступим.
Способ 1
Итак, скачиваем, устанавливаем, активируем наш чудо плагин. Думаем вы с этим справитесь. Но прежде чем приступить к дальнейшим действиям давайте посмотрим на что способен наш плагин.
Основные характеристики:
- Поддержка нескольких виджетов – то есть у вас может быть несколько виджетов популярных сообщений WordPress в вашем блоге и каждый со своими настройками
- Диапазон времени. Перечислите те статьи вашего блога, которые были самыми популярными в течение определенного периода времени (например, последние 24 часа, последние 7 дней, последние 30 дней и т. д.)
- Custom Post-type support – с помощью данной функции можно показывать еще и другие материалы, кроме статей
- Эскизы. Выводит миниатюру ваших постов
- Параметры сортировки. С помощью этой функции вы можете составить список популярных комментариев, представленных (по умолчанию) или средним числом по просмотрам в день
- Поддержка Shortcode — используйте короткий код [wpp], чтобы показывать ваши самые популярные сообщения на страницах
- Теги шаблона. Не нравится использовать виджеты? Нет проблем! Вы можете поместить свои самые популярные записи в свою тему, используя тег шаблона wpp_get_mostpopular ()
- Локализация — Перевести WPP на свой родной язык
- Поддержка WP-PostRatings. Покажите своим посетителям, как ваши читатели оценивают ваши сообщения
Вот как-то так)) Неплохой инструмент, правда? Ну теперь со спокойной душой можно приступать к дальнейшим действиям. Допустим вы проделали вышеперечисленные шаги. После активации вам нужно перейти на страницу «Внешний вид» — «Виджеты». Перетаскиваем виджет «WordPress Popular Posts» на любую боковую панель.
Вы можете назвать этот виджет «Сегодня», а в поле «Диапазон времени» выбрать последние 24 часа. После этого вы можете просмотреть другие параметры и настроить их по своему вкусу. Не забываем все это хозяйство «Сохранить».
Затем вам нужно добавить еще один виджет сообщений и назвать его «Неделя». В настройках вам нужно выбрать «7 дней» в поле диапазона времени, а затем «Сохранить». Повторите этот процесс, чтобы добавлять ежемесячные и все популярные сообщения.
Все здесь мы закончили. Пока больше ничего не трогаем и переходим к следующему шагу.
Создание виджета с вкладками
В этой части урока мы создадим виджет с вкладками для боковой панели. Это позволит нам показывать наши популярные заметки в одном виджете с вкладками.
Во-первых, вам необходимо установить и активировать плагин Ultimate Tabbed Widget. Вам нужно будет переместить все ваши сделанные виджеты сообщений в эту конкретную область.
Затем вам нужно найти «Ultimate Tabbed Widgets»в доступных виджетах и добавить его на боковую панель вашего веб-сайта, где вы хотите отображать популярные сообщения.
Пишем заголовок. В поле области вам нужно выбрать «Default tabbed widget area» и выбрать вкладки для поля шаблона. Сохраняем сие действие и идем на свой веб-сайт, чтобы просмотреть ваше творение.
Вы можете изменить порядок вкладок, просто перемещая виджеты вверх и вниз в области «Виджет по умолчанию».
Способ 2
Первым нашим шагом будет создание функции, которая будет определять кол-во просмотров и сохранять их как настраиваемое поле для каждого сообщения. Чтобы сделать это, вставьте код, который находится ниже в файл functions.php вашей темы:
function wpb_set_post_views ($postID) { $count_key = 'wpb_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); } } //To keep the count accurate, lets get rid of prefetching remove_action ( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0);
Теперь, когда у вас есть эта функция, нам нужно ее вызвать на отдельных страницах сообщений. Чтобы сделать это, вам нужно вставить следующий код внутри одного цикла сообщений:
wpb_set_post_views (get_the_ID ());
Если вы используете дочернюю тему, то вам нужно просто добавить трекер в свой заголовок, используя wp_head hook. Вставляем вот такой код в functions.php:
function wpb_track_post_views ($post_id) { if ( !is_single () ) return; if ( empty ( $post_id) ) { global $post; $post_id = $post->ID; } wpb_set_post_views ($post_id); } add_action ( 'wp_head', 'wpb_track_post_views');
Теперь, когда пользователь посещает вашу статью, пользовательское поле будет обновляться.
Запомните. Если вы используете кеширующий плагин, этот метод НЕ будет работать по умолчанию.
Мы используем W3 Total Cache, и у него есть функция, называемая «фрагментированное кэширование». Вы можете использовать этот код, чтобы сделать эту работу легче. Вот что нужно изменить:
<!-- mfunc wpb_set_post_views ($post_id); --><!-- /mfunc -->
Теперь вы можете делать классные вещи, такие как подсчет количества просмотров, или сортировать статьи по количеству просмотров. Давайте посмотрим, как сделать некоторые из этих интересных вещей.
Если вы хотите отобразить количество просмотров на своих страницах с сообщением (часто рядом с количеством комментов). Делаем следующее: добавляем код в functions.php.
function wpb_get_post_views ($postID){ $count_key = 'wpb_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 View»; } return $count.' Views'; }
Затем внутри цикла post добавляем вот такой код:
wpb_get_post_views (get_the_ID ());
Если вы хотите отсортировать сообщения по количеству просмотров, то вы можете сделать это легко, используя параметр wp_query post_meta. Самый простой пример запроса цикла будет выглядеть так:
<?php $popularpost = new WP_Query ( array ( 'posts_per_page' => 4, 'meta_key' => 'wpb_post_views_count', 'orderby' => 'meta_value_num', 'order' => 'DESC' ) ); while ( $popularpost->have_posts () ) : $popularpost->the_post (); the_title (); endwhile; ?>
Уф…Ну вот мы и закончили. Мы надеемся, что вы справились. На этом у нас все. Всем пока!
С уважением Вячеслав и Валерия!