На скриншоте показан вывод количества просмотров WordPress в анонсах статей.
На днях столкнулся с задачей вывести количество просмотров WordPress в записях, страницах и анонсах статей. В статье хочу поделится с читателями парочкой вариантов вывода просмотров. Первый вариант это установка плагина WP-PostViews. Второй, более предпочтительный, путем добавления функции вывода количества просмотров WordPress непосредственно в файл functions.php и вызова этой функции в определенных местах шаблона.
Так как далеко не все владельцы сайтов разбираются в кодах шаблона, публикую оба варианта вывода числа просмотров. Хотя и в плагине вызов функции нужно прописывать в файлах шаблона вручную.
Выводим количество просмотров WordPress с плагином WP-PostViews
Скачайте плагин с официального хранилища WordPress, или загрузите из админки, набрав название плагина — WP-PostViews.
Плагин позволяет выводить кроме количества просмотров, еще и популярные статьи по просмотрам, но я разберу только настройки касающиеся данной статьи.

1. Count Views From — Настройка позволяющая выбрать:
Everyone — считать все просмотры;
Guests Only — считается количество просмотров только посетителей, гостей сайта;
Users Only — считается количество просмотров зарегистрированными на сайте пользователями.
2. Exclude Bot Views — Считать или нет просмотры страниц, записей поисковыми роботами и прочими пауками и нечистью:
Yes — считать;
No — не считать.
3. Use AJAX To Update Views — Если вы используете плагин кеширования, можно выбрать, обновлять счетчик количества просмотров сразу после просмотра, (использование AJAX), либо статистика будет обновляться после очистки кеша плагина.
Yes — обновлять счетчик сразу;
No — не обновлять до очистки кеша.
4. Views Template — Показ просмотров:
Впишите слово вместо views. Например — просмотры. Свои слова можно ставить перед и после переменной %VIEW_COUNT%.
Далее в настройках плагина можно выбрать варианты подсчета просмотров на разных страницах. Сохраните настройки.
Теперь придется все-таки повозится с файлами и расставить в нужные вам места шаблона вызов функции подсчета просмотров WordPress
Для этого нужно в файлы шаблона archive.php, single.php, post.php, page.php, добавить код:
<?php if(function_exists('the_views')) { the_views(); } ?>Найдите в файлах шаблона, где вы хотите вывести количество просмотров строчку:
<?php while (have_posts()) : the_post(); ?>
Либо похожую, и ставьте код вызова либо выше этой строчки, либо ниже.
А можно открыть файл content.php и ставьте вывод сразу после строчки:
<header class="entry-header">
Тогда количество просмотров будет отображаться и в архивах и в анонсах и в самих статьях.
Если вы хотите вывести счетчик количества просмотров WordPress внизу страницы, где выводятся метки и категории (в большенстве шаблонов), то поставьте код вывода после строчки:
<footer class="entry-footer">
Примечание: вышеописанное подходит для большенства стандартных шаблонов. Но в разных шаблонах код, куда можно добавлять вывод количества просмотров может немного отличаться.
В шаблоне WordPress за вывод анонсов может отвечать файл loop.php, либо что-то в этом роде. Тогда, чтобы вывести количество просмотров статьи в анонсе, код вывода нужно ставить в него. И ориентироваться на вывод категории и меток этом файле.
Выводим количество просмотров WordPress
Мне этот вариант кажется наиболее приемлимым, потому что плагин не избавляет от мучительных попыток редактирования файлов темы, а нагрузки на сайт без использования плагина гораздо меньше, ведь в коде используется исключительно функция вывода количества просмотров WordPress.
В данном коде используется аналогичная плагину функция, взятая из него-же, но из нее удалено 90% лишнего мусора (со слов kama, иже автора).
Вставьте в файл functions.php данный код:
* Подсчет количества посещений страниц
---------------------------------------------------------- */
add_action('wp_head', 'kama_postviews');
function kama_postviews() {
/* ------------ Настройки -------------- */
$meta_key = 'views'; // Ключ мета поля, куда будет записываться количество просмотров.
$who_count = 1; // Чьи посещения считать? 0 — Всех. 1 — Только гостей. 2 — Только зарегистрированных пользователей.
$exclude_bots = 1; // Исключить ботов, роботов, пауков и прочую нечесть :)? 0 — нет, пусть тоже считаются. 1 — да, исключить из подсчета.
global $user_ID, $post;
if(is_singular()) {
$id = (int)$post->ID;
static $post_views = false;
if($post_views) return true; // чтобы 1 раз за поток
$post_views = (int)get_post_meta($id,$meta_key, true);
$should_count = false;
switch( (int)$who_count ) {
case 0: $should_count = true;
break;
case 1:
if( (int)$user_ID == 0 )
$should_count = true;
break;
case 2:
if( (int)$user_ID > 0 )
$should_count = true;
break;
}
if( (int)$exclude_bots==1 && $should_count ){
$useragent = $_SERVER['HTTP_USER_AGENT'];
$notbot = "Mozilla|Opera"; //Chrome|Safari|Firefox|Netscape — все равны Mozilla
$bot = "Bot/|robot|Slurp/|yahoo"; //Яндекс иногда как Mozilla представляется
if ( !preg_match("/$notbot/i", $useragent) || preg_match("!$bot!i", $useragent) )
$should_count = false;
}
if($should_count)
if( !update_post_meta($id, $meta_key, ($post_views+1)) ) add_post_meta($id, $meta_key, 1, true);
}
return true;
}Ну а где нужно вывести количество просмотров WordPress, пишем такой код:
<?php echo get_post_meta ($post->ID,'views',true); ?>
Заметьте, что и в этом коде есть возможность некоторых настроек. Смотрите комментарии внутри кода.
По поводу совместимости кода с плагинами кеширования, так я тестировал с плагином Hyper Cashe, код работает корректно.
Комплект Щетка уличная ГАРДЕНА 100tachek.ru.
Встроенная галерея WordPress
Добавляем атрибут title в редактор WordPress
Расширяем текстовый редактор WordPress