Решить задачу вывода количества просмотров статей можно решить двумя способами: с помощью плагина и вмешательством в код вашей темы. Сегодня предлагаю решить поставленную задачу с помощью вмешательства в код. Все манипуляции займут порядка минуты.
В результате на вашем сайте в выбранном месте отобразится цифра просмотренных раз данной статьи.
Открываем 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); } } |
Здесь представлены две функции: одна фиксирует просмотры, вторая выводит количество этих просмотров. Если сталкивались с
Теперь осталось эти функции прописать в нужном вам месте.
Фиксирующую функцию прописываем там, где будете считать просмотры: single.php, page.php, index.php и прочее:
<?php setPostViews(get_the_ID()); ?> |
А теперь нужно вывести количество просмотров. Опять же ставим следующий код в том месте, где хотите видеть результат:
<?php echo getPostViews(get_the_ID()); ?> |
Помимо этого вы можете смотреть количество просмотров прямо в админке вашего сайта. Для этого нужно в functions.php добавить следующее:
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()); } } |
В результате появится дополнительная колонка, с количеством просмотров вашего поста.
Все работает и проверено на этом блоге.