При мониторинге своего сайта думаю, что всем интересно знать популярность записей сайта. Чтобы узнать какие статьи сайта пользуются наибольшей популярностью, а какие отстают в этом, необходимо вывести счетчик, который будет отмечать количество просмотров данной страницы с записью.
Рассмотрим вариант вывода такого счетчика без всяких плагинов, что соответственно не даст лишнюю нагрузку на сервер хостинга. Для этого необходимо отредактировать несколько файлов, а именно — functions.php, single.php и archive.php, и если нужно вывести счетчик на страницах, то файл page.php
Первым делом открываем файл functions.php и вставим в самом конце следующий код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | 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); } } add_filter('manage_posts_columns', 'posts_column_views'); add_action('manage_posts_custom_column', 'posts_custom_column_views',5,2); function posts_column_views($defaults){ $defaults['post_views'] = __('просмотров'); return $defaults; } function posts_custom_column_views($column_name, $id){ if($column_name === 'post_views'){ echo getPostViews(get_the_ID()); } } |
Этот код выполняет три функции: первая фиксирует просмотры, вторая выводит количество просмотров, третья создаёт в админке сайта колонку количества просмотров в меню Записи.
Остаётся теперь подключить эти функции в файле записей и рубрик. Открываем файл single.php и находим приблизительно такой код:
<?php while (have_posts()) : the_post(); ?>
и после него вставляем следующий:
<?php setPostViews(get_the_ID()); ?>
И последнее, выводим количество просмотров. Ставим следующий код в том месте, где хотите видеть результат:
<?php echo getPostViews(get_the_ID()); ?>
Результат обычно выводят там где находится информация: дата/автор/рубрика… Найдите строку кода, которая отвечает за вывод этой информации и добавьте туда этот код
Точно так же отредактируйте файл archive.php и если необходимо то и page.php
Статья была полезной?