Добавляем количество просмотров записи в WordPress
По умолчанию, в CMS WordPress отсутствует возможность подсчета просмотров записей. Это можно исправить через какой-нибудь плагин, но я же рекомендую исключить этот вариант и сделать все через готовую функцию, которая приведена ниже.
1. Подключитесь к вашему сайту по FTP, в папке вашей темы найдите файл 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);
}
}
// Показ количества просмотров в панели управления
function posts_column_views($defaults) {
$defaults["post_views"] = __("Просмотры");
return $defaults;
}
add_filter("manage_posts_columns", "posts_column_views");
function posts_custom_column_views($column_name, $id) {
if($column_name === "post_views") {
echo getPostViews(get_the_ID());
}
}
add_action("manage_posts_custom_column", "posts_custom_column_views", 5, 2);
Сохраните изменения и отправьте файл обратно на сайт.
С помощью этого кода мы внедряем возможность подсчета количества просмотров записи + отображение этого числа в панели управления вашим сайтом.
Если вы хотите исключить отображение количества просмотров в панели управления, то удалите следующий код:
// Показ количества просмотров в панели управления
function posts_column_views($defaults) {
$defaults["post_views"] = __("Просмотры");
return $defaults;
}
add_filter("manage_posts_columns", "posts_column_views");
function posts_custom_column_views($column_name, $id) {
if($column_name === "post_views") {
echo getPostViews(get_the_ID());
}
}
add_action("manage_posts_custom_column", "posts_custom_column_views", 5, 2);
2. Помимо выше описанного кода, в полную версию вашей записи (чаще всего это файл single.php в папке вашей темы), сразу после вызова цикла:
<?php
if(have_posts()) : while (have_posts()) : the_post();
?>
вставьте:
<?php
setPostViews(get_the_ID());
?>
На этом подсчет количества просмотров окончательно завершен.
Если вы хотите вывести количество просмотров записи на страницу, чтобы пользователи так же могли наблюдать за популярностью той или иной статьи, в нужное место этого же файла вставьте:
<?php
echo "Просмотров: ".getPostViews(get_the_ID());
?>
Стиль оформления и названия вы можете изменить на свои, главное – не нарушьте код вызова счетчика просмотров.