Wp вывод популярных записей по количеству просмотров. Счетчик просмотров записей на WordPress: установка и настройка. Считаем количество дней существования поста

И . В этой статье речь пойдет о том, как отслеживать и показывать самые популярные посты на сайте без использования каких-либо плагинов для WordPress.

Пример такого кастомизированного отображения самых популярных постов приведен на следующем скриншоте:

Для начала нам надо создать функцию, которая будет определять количество просмотров для каждого поста и сохранять это значение в отдельном настраиваемом поле для каждой записи. Чтобы сделать это, вставьте следующий код в файл вашей темы 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);

Теперь после вставки функции на нужное место нам надо вызвать эту функцию для отдельных страниц с публикациями. Так функция будет "знать", какой из постов выбрать и дать ему наивысшую оценку на базе числа собранных просмотров. Для этой цели следующий код надо поместить в цикл для записей в файле single.php :

Wpb_set_post_views(get_the_ID());

Если вы используете дочернюю тему или просто хотите облегчить себе задачу, то просто добавьте отслеживающий параметр в заголовок поста при помощи wp_head . Добавьте следующий код в файл функций вашей темы под названием 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 , в нем есть опция под названием "фрагментированное кэширование" (Fragmented Caching ). Вы тоже можете использовать этот плагин и данную опцию, чтобы все работало как следует. Вот что надо изменить:

Теперь вы можете делать много всяких классных штук вроде отображения счетчика просмотров в посте, сортировки постов по числу просмотров и т.д. Давайте посмотрим на некоторые из этих классных возможностей.

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"; }

Затем в цикл записи файла single.php добавьте следующий код:

Wpb_get_post_views(get_the_ID());

Если вы хотите отсортировать записи по количеству их просмотров, вы можете это легко сделать с помощью wp_query post_meta параметра. Простой пример такого цикла будет выглядеть вот так:

4, "meta_key" => "wpb_post_views_count", "orderby" => "wpb_post_views_count", "order" => "DESC")); while ($popularpost->have_posts()) : $popularpost->the_post(); the_title(); endwhile; ?>

Чтобы добавить другие параметры WP_Query (такие, как промежуток времени), воспользуйтесь рекомендациями из раздела WP_Query в Codex.

Надеемся, эти советы вам помогут.

Сегодня вы узнаете, как установить счетчик просмотров страницы на WordPress, для того чтобы количество посещений выводилось для каждого поста. Мы разберем основные плагины, которые для этого предназначены, а также приведем варианты решения данного вопроса без плагинов.

Нужно ли устанавливать счетчик просмотров статей?

Вывод количества посещений перед постом или под статьей – в большей степени вопрос имиджа. Ведь лично вам для анализа количества просмотров будет достаточно открыть статистику в , или в . Потому, как и открытый , счетчик просмотров страниц в первую очередь показывает статистику для ваших посетителей и потенциальных рекламодателей. Положительная динамика роста просмотров опубликованной записи может позитивно повлиять на доверие читателей к вашему контенту. Напротив, небольшое количество посещений может негативно сказаться на . Нулевое значение счетчика, который виден для всех, может отпугнуть посетителей, снизить доверие к опубликованному материалу.

Перейдем к рассмотрению плагинов для подсчета посещений для сайта на WordPress.

Плагины для установки счетчика просмотров страниц

Первый плагин, который рассмотрим – PageViews.

Его основное преимущество перед другими плагинами той же категории – он не нагружает сайт. Потому плагин подойдет даже для ресурсов с высоким траффиком и, по словам разработчиков, никак не замедлит их работу. Каким образом работает Pageviews? Это плагин с открытым кодом, основанный на JavaScript. Подсчет просмотров происходит на стороннем ресурсе, без задействования мощностей сайта, на котором установлен Pageviews.

Последнее обновление плагина – 5 месяцев назад. Активных установок 40 000+. Совместимость вплоть до версии 4.7.5.

У плагина Post Views Counter есть три метода сбора информации по просмотрам: PHP, JavaScript или REST API. Среди дополнительных функций – возможность быстро импортировать данные из WP-PostViews, а также устанавливать значение на счетчике вручную.

Установка плагина стандартная.

В настройках есть две закладки: Общие (General) и Отображение (Display).

В общих можно выбрать тип страниц, для которых будет производиться подсчет просмотров, метод подсчета (PHP, Javascript), время между учетом просмотров одного и того же пользователя, тип посетителей.

На вкладке Display можно указать надпись счетчика (Post View Label), выбрать тип страниц, на которых будет отображаться статистика, выбрать позицию и стиль иконки счетчика. Также можно спрятать счетчик от определенного типа посетителей.

Разумеется, это не все плагины для подсчета количества просмотров записи на WordPress. Кроме описанных выше, также есть Page View Count, Page Visit Counter. Выбирайте тот, который больше соответствует вашему запросу и потребностям.

Счетчик просмотров страниц на WordPress без плагина

Теперь разберемся, как можно выводить количество посещений без подключения плагинов. Для этого потребуется внести изменения в файл функций functions.php.

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 . " просмотров" ; } 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 ) ; } }

Здесь первая функция считает количество просмотров страницы в WordPress, а вторая выводит их. Теперь в файлах single.php, page.php, index.php (по аналогии с тем, как мы прописывали код для плагина) в том месте, где вы хотите выводить счетчик нужно прописать следующее:

В файле стилей для данного элемента можно указать такие параметры:

1 2 3 4 .views { margin-left : 18px ; font-size : 15px ; background : url ("images/image.png”); padding: 0px 0px 2px 33px;}

Views{margin-left: 18px; font-size: 15px; background: url("images/image.png”); padding: 0px 0px 2px 33px;}

Здесь мы задаем размер шрифта, величину поля, фон и т.п.

Некоторое время назад мы рассказывали о том, как . Однако, хочется ведь настроить расположение элементов как можно удобнее для пользователя. В сегодняшней статье мы расскажем как отследить и отобразить самые просматриваемые записи в вашем блоге WordPress без использования плагинов.

Пример популярных записей собственного производства на скриншоте ниже:

Первое, что нам нужно сделать, это создать функцию, которая будет определять количество просмотров записи и сохранять его в пользовательское поле для каждого поста. Для этого вставляем следующий код в файл functions.php вашей темы или, лучше, в :

Function devise_set_post_views($postID) { $count_key = "devise_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); } } remove_action("wp_head", "adjacent_posts_rel_link_wp_head", 10, 0);

Теперь, когда функция на месте, нужно ее вызвать для отдельных записей в блоге. Таким образом функция будет точно знать, каким записям нужно увеличить счетчик просмотров. Для этого нуэно вставить следующий код в в цикл для отдельной записи (скорее всего в файл single.php вашей темы):

Devise_set_post_views(get_the_ID());

Если же вы используете дочернюю тему (child theme) или же просто хотите упростить все это, тогда вам нужно добавить трекер для отслеживания в хидер, используя хук wp_head. Вствьте следующий код в файл functions.php вашей темы или в :

Function devise_track_post_views ($post_id) { if (!is_single()) return; if (empty ($post_id)) { global $post; $post_id = $post->ID; } devise_set_post_views($post_id); } add_action("wp_head", "devise_track_post_views");

После того, как код окажется в нужном месте, каждый раз при открытии отдельно взятым пользователем записи, счетчик в пользовательском поле будет обновляться.

Примечание : Есл вы используете плагин кеширования на вашем блоге, то такой способ НЕ будет работать по-умолчанию. У плагина W3 Total Cache есть функция под названием Fragmented Caching. Нужно ее задействовать, и проблема исчезнет. Нужно изменить следующее:

Теперь можно вытворять разные интересные вещи, такие как отображение количества просмотров записи, или сортировать по этим самым просмотрам… Давайте посмотрим как их можно реализовать:

Function devise_get_post_views($postID){ $count_key = "devise_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." просмотров"; }

Затем вставить внутрь цикла записи следующее:

Devise_get_post_views(get_the_ID());

Если нужна сортировка записей по количеству просмотров, это можно реализовать с помощью параметра post_meta wp_query. Самый простой пример цикла запроса будет выглядеть так:

4, "meta_key" => "devise_post_views_count", "orderby" => "meta_value_num", "order" => "DESC")); while ($popularpost->have_posts()) : $popularpost->the_post(); the_title(); endwhile; ?>

Для добавления других параметров WP_Query, таких как диапазон времени, обратитесь на

Для размещения наиболее популярных записей на сайте используется 2 метода установка плагина WP-PostViews и размещение кода .


Однозначно данную задачу проще и быстрее решить через плагин 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; }

Данный код будет использоваться для подсчета количества просмотров статьи посетителями.

Примечание: numberposts’ => 5 — количество статей выводимых в блоке сайдбара.

В результате получаем:

Лучшие записи с миниатюрами по количеству комментариев

1. Откройте файл sidebar.php и разместите такой код:

Примечание: 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);

Таким образом, можно самостоятельно, без использования плагинов, создать блок лучших статей в сайдбаре сайта. Целесообразнее использовать именно такой метод, так как большое количество установленных плагинов плохо сказывается на работоспособности сайта в целом.