Как вывести количество просмотров постов в WordPress

Удивительно, но по умолчанию в WordPress нет функции подсчета количества просмотров записей и страниц. А значит, добавить такой функционал можно с помощью плагина или специального кода. Рассмотрим в этой статье как сделать в WordPress количество просмотров постов.

Количество просмотров плагином Post Views Counter

Post Views Counter – самый популярный плагин для вывода счетчика просмотров постов.

Плагин предоставляется в бесплатной и PRO версии. Для простого вывода количества просмотров достаточно бесплатной версии.

Установите плагин и активируйте его в админке. После установки появится новый раздел Просмотры записей.

Подсчет и отображение количества просмотров начнется сразу же после активации плагина.

Post Views Counter имеет обширное количество опций. Все настройки разбиты на 4 раздела:

  1. Counting – настройки логики подсчета просмотров.
  2. Display – опции отображения счетчика на страницах сайта.
  3. Reports – аналитика просмотров постов. Доступна только в PRO версии.
  4. Other – прочие настройки плагина. Например, здесь можно активировать PRO версию плагина.

Итак, давайте произведем первоначальную настройку плагина.

Настройки подсчета

Для подсчета просмотров страниц, поставьте чекбокс Страницы в первой опции. Режим работы счетчика можно оставить в значении PHP. Если нужно, чтобы просмотры отображались в таблице записей/страниц, активируйте опцию Admin Column. В таблице появится новый столбец

Еще одна важная опция Исключить посетителей. Вы можете запретить подсчет просмотров для определенной категории посетителей. Если хотите получать более правдивую статистику просмотров, отметьте значение роботы, чтобы не учитывать заходы поисковых роботов на страницы сайта.

Настройки отображения

В разделе Display мы можем изменить расположение вывода количества просмотров на одиночной странице записи. Предусмотрено 3 варианта: перед статьей, после статьи и вручную. Вариант вручную предполагает ручное встраивание шоркода в необходимое место на странице. Вставьте код в нужное место в файле single.php

echo do_shortcode('[post-views]');

Здесь же вы можете изменить ярлык вывода. Ярлык – это текст перед числом количества просмотров. Вы можете его убрать вовсе, оставив только иконку и число.

Иконку тоже можно заменить. К выбору доступны иконки из набора Dashicons. Выберите нужную иконку, например картинку глаза.

Скопируйте класс иконки dashicons-visibility и вставьте его в опцию Класс значка.

Сохраните изменения и проверьте результат.

Мы изучили основные настройки плагина Post Views Counter. Далее рассмотрим реализацию количества просмотров записей WordPress без плагина с помощью кода.

Количество просмотров записей WordPress без плагина

Чтобы реализовать счетчик просмотров без плагинов откройте файл functions.php вашей активной темы.

Если вы используете тему, которая регулярно обновляется, редактирование файлов нужно производить в дочерней теме. В противном случае, вы рискуете потерять все изменения.

В конце файла functions.php добавьте следующий код

add_action('wp', 'update_post_views');

function update_post_views($wp)
{
    $is_admin = current_user_can('manage_options');
    $post_types = ['post'];
    
    // Не учитывать просмотры админа
    if ($is_admin) {
        return;
    }

    if (is_singular($post_types)) {
        global $post;

        $post_id = $post->ID;
        $meta_key = 'number_of_views';

        $number_of_views = (int) get_post_meta($post_id, $meta_key, true);

        if (! $number_of_views) {
            update_post_meta($post_id, $meta_key, 0);
        }

        update_post_meta($post_id, $meta_key, $number_of_views + 1);
    }
}

Кратко опишу, как работает код.

К хуку wp мы прикрепили функцию, которая будет запускаться при каждом посещении любой страницы сайта. В теле функции есть условия, при которых будет выполняться подсчет посещения.

Этот код предназначен только для записей блога (post). Если нужно считать количество посещений для других типов записей (страниц, кастомных типов) в переменной $post_types укажите массив этих типов.

Например, для записей, страниц и кастомного типа portfolio

$post_types = ['post', 'page', 'portfolio'];

Так же, этот код не будет учитывать посещения записей пользователей с админскими правами (строка 8).

По сути, это весь код, который нужен для подсчета количества просмотров. Если вы хотите добавить дополнительные проверки, например, не учитывать заходы ботов, можете модифицировать функцию по своему желанию.

Осталось только вывести счетчик на страницу.

Количество просмотров записывается в таблицу с мета-данными записей и получить их можно с помощью стандартной функции get_post_meta.

Откройте файл single.php и в нужно месте страницы добавьте следующий код

<?php echo get_post_meta(get_the_ID(), 'number_of_views', true) ?>

Сохраните изменения в файле и можно проверять результат.

На странице записи теперь будет выведено число с количеством просмотров. Рядом с числом можете добавить дополнительных элементы оформления: иконку или текст. Тут уже на ваше усмотрение.

Содержание:
Нет комментариев