Опубликовано: 26.06.2026

Обновлено: 26.06.2026

Просмотров: 55

Руслан Шкарбан, автор Руслан Шкарбан

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

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

Шаг 1. Создаем функцию подсчета просмотров

В самом коде я добавил пояснения в формате комментариев. Вам для внедрения требуется добавить следующий код в файл functions.php вашей темы:

function set_post_views($post_id) { 
    if (is_user_logged_in()) { // чтобы не считать собственные посещения добавим проверку 
        return;
    }

    $count_key = 'post_views_count'; // Название ключа для хранения количества просмотров
    $count = get_post_meta($post_id, $count_key, true); // Получаем текущее значение счетчика
    
    if ($count == '') {
        $count = 0; 
        add_post_meta($post_id, $count_key, 1); // записываем в поле первое посещение
    } else {
        $count++; // если уже существует значение, то просто увеличиваем его
        update_post_meta($post_id, $count_key, $count); // записываем новое увеличенное значение
    }
}

Таким образом, функция создает поле post_views_count для записи и увеличивает его значение при каждом просмотре страницы.

Шаг 2. Увеличиваем счетчик при открытии статьи

Теперь необходимо вызвать функцию на странице записи.

Откройте файл вашего шаблона статьи и добавьте вызов функции:

while (have_posts()) :
    the_post();

    set_post_views(get_the_ID());

    // вывод содержимого записи

endwhile;

Шаг 3. Создаем функцию получения количества просмотров

Для удобного вывода просмотров создадим отдельную функцию. Добавляем в functions.php следующий код:

function get_post_views($post_id) {
    $count = get_post_meta($post_id, 'post_views_count', true); // Получаем значение счётчика
    
    if ($count == '') { 
        return 0;
    }
    
    return $count;
}

Шаг 4. Выводим количество просмотров в шаблоне

Теперь можно вывести количество просмотров в любом месте шаблона.

Например:

<div class="post-views">
    Просмотров: <?php echo get_post_views(get_the_ID()); ?>
</div>

Количество просмотров

Результат получился такой (возможно, что при вашем прочтении я уже поменяю местоположение элемента, но на момент написания все как на скриншоте):

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