Как настроить автоматические отчёты о просмотрах в WordPress с примерами кода

|

Что такое автоматические отчёты о просмотрах и зачем они нужны

Отслеживание просмотров страниц и записей на сайте — важный инструмент для анализа популярности контента и поведения пользователей. Автоматические отчёты позволяют регулярно получать сводку по просмотрам без ручного контроля, что особенно полезно для блогеров, владельцев магазинов и редакторов сайтов на WordPress.

В этой статье мы разберём, как реализовать систему подсчёта просмотров и формирования автоматических отчётов с помощью PHP-кода и дополнительно рассмотрим готовые плагины для расширения функционала.

Вы узнаете, как создавать пользовательские метаданные для хранения просмотров, как автоматически генерировать отчёты и отправлять их по почте или сохранять в панели администратора.

Как реализовать подсчёт просмотров с помощью пользовательских метаданных

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

function wpzoom_increment_post_views() {
    if (is_singular('post')) {
        global $post;
        $post_id = $post->ID;
        $views = (int) get_post_meta($post_id, '_wpzoom_post_views', true);
        update_post_meta($post_id, '_wpzoom_post_views', $views + 1);
    }
}
add_action('wp', 'wpzoom_increment_post_views');

Этот код добавляет к каждому посту метаполе _wpzoom_post_views, в котором хранится количество просмотров. При каждом просмотре одиночной записи значение увеличивается на 1.

Как вывести количество просмотров на странице записи

Чтобы показать пользователям сколько раз просмотрена запись, можно вывести значение метаполя в шаблоне single.php или через шорткод.

function wpzoom_show_post_views() {
    if (is_singular('post')) {
        global $post;
        $views = (int) get_post_meta($post->ID, '_wpzoom_post_views', true);
        return '<p>Просмотров: ' . $views . '</p>';
    }
    return '';
}
add_shortcode('wpzoom_post_views', 'wpzoom_show_post_views');

Вставьте шорткод [wpzoom_post_views] в контент или вызовите функцию напрямую в шаблоне для отображения счётчика.

Создание автоматических отчётов о просмотрах с использованием WP-Cron

Для автоматической генерации отчётов настроим событие cron, которое будет запускаться, например, раз в день и собирать данные по просмотрам.

Добавим регистрацию события в functions.php:

function wpzoom_schedule_daily_report() {
    if (!wp_next_scheduled('wpzoom_daily_views_report')) {
        wp_schedule_event(time(), 'daily', 'wpzoom_daily_views_report');
    }
}
add_action('wp', 'wpzoom_schedule_daily_report');

Далее создадим функцию, которая будет собирать данные и отправлять отчёт на почту администратора.

function wpzoom_send_daily_views_report() {
    $args = [
        'post_type' => 'post',
        'posts_per_page' => 10,
        'orderby' => 'meta_value_num',
        'meta_key' => '_wpzoom_post_views',
        'order' => 'DESC',
        'meta_query' => [
            [
                'key' => '_wpzoom_post_views',
                'compare' => 'EXISTS',
            ],
        ],
    ];

    $query = new WP_Query($args);
    $message = "Топ 10 самых просматриваемых записей за всё время:\n\n";

    foreach ($query->posts as $post) {
        $views = get_post_meta($post->ID, '_wpzoom_post_views', true);
        $message .= $post->post_title . ' — ' . $views . " просмотров\n";
    }

    wp_mail(get_option('admin_email'), 'Ежедневный отчёт просмотров', $message);
}
add_action('wpzoom_daily_views_report', 'wpzoom_send_daily_views_report');

Теперь администратор будет получать письмо с топ-10 записей по просмотрам каждый день.

Использование плагинов для расширенной аналитики просмотров

Если нужна более сложная аналитика, стоит обратить внимание на специализированные плагины. Например:

Эти инструменты позволяют гибко настраивать отображение и сбор статистики, а также интегрировать её в отчёты.

Как хранить и оптимизировать данные просмотров для больших сайтов

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

Пример создания пользовательской таблицы для хранения просмотров:

function wpzoom_create_views_table() {
    global $wpdb;
    $table_name = $wpdb->prefix . 'wpzoom_post_views';
    $charset_collate = $wpdb->get_charset_collate();

    $sql = "CREATE TABLE $table_name (
      post_id bigint(20) NOT NULL,
      views bigint(20) NOT NULL DEFAULT 0,
      PRIMARY KEY  (post_id)
    ) $charset_collate;";

    require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
    dbDelta($sql);
}
register_activation_hook(__FILE__, 'wpzoom_create_views_table');
<

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

Выводы и рекомендации по настройке автоматических отчётов о просмотрах

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

Настройка WP-Cron для регулярной отправки отчётов позволяет своевременно получать актуальные данные. Для более продвинутых функций рекомендуются плагины, которые расширяют возможности без необходимости писать много кода.

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

WooCommerce: автоматическое отключение неактивных методов оплаты
15.05.2026
Как использовать REST API в WordPress для создания простого плагина
15.11.2025
Как удалить лишние метаданные из изображений в WordPress для ускорения сайта
12.12.2025
Как изменить количество постов в выводах WordPress без плагинов
03.04.2026
Как использовать выпадающие списки в WordPress своими руками: примеры и код
14.04.2026
×
WPShop
партнерка без «но»!

До 3225₽ за каждую продажу

Подключиться к игре