Решить задачу вывода количества просмотров статей можно решить двумя способами: с помощью плагина и вмешательством в код вашей темы. Сегодня предлагаю решить поставленную задачу с помощью вмешательства в код.
Во-первых, мой код значительно меньше и соответственно быстрее, чем плагин, ну а во-вторых — лично мне удобнее адаптировать его к дизайну сайта, а не довольствоваться тем выводом, что предлагает плагин. конечно, код плагина тоже можно изменить, но тогда какая разница — что так в коде копаться, что так. Есть и третий момент. Я всё ручками делаю и Вам советую. Пусть не все получится с первого раза, пусть сначала будет корявенько получаться, всё равно — если хочешь хорошо, если хочешь не шаблонный, а эксклюзивный вариант — надо ручками все делать. Всегда.
Все манипуляции по созданию счетчика просмотров статьи займут порядка минуты. В результате вы получите вывод количества просмотров определенной статьи как на блоге, так и в админке движка. В действии сие чудо можно наблюдать в конце любой статьи на этом сайте (под названием статьи), а так-же на главной странице и на страницах рубрик (там же).
В общем, в результате на вашем сайте в выбранном месте отобразится цифра просмотренных раз данной статьи.
Открываем 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());
}
}
В результате появится дополнительная колонка, с количеством просмотров вашего поста.
Возможно использовать все по отдельности, например не выводя в постах количество просмотров, а отображать лишь в админке. Ну или наоборот)) Удачи вам!