Часть вторая: как добавить просмотры в пост

Введение

В первой части мы создали плагин Post Analytics: трекинг просмотров, база данных, REST API и админка со статистикой. Теперь добавим отображение количества просмотров в карточках постов на главной странице и в архивах — значок с иконкой глаза и числом.

Что нужно сделать

  • Функция получения количества просмотров для поста
  • Интеграция с темой: добавить «просмотры» в элементы меты
  • Функция вывода (иконка + число)
  • Стили для значка

Шаг 1: Функция get_view_count

В классе Post_Analytics_DB добавляем статический метод get_view_count($post_id, $days = 30). Он вызывает get_post_stats() и возвращает только unique_views. Это лёгкий способ получить число для вывода в шаблоне.

Шаг 2: Интеграция с темой Dekanpro

Тема Dekanpro выводит мету поста (автор, дата, категория) через массив элементов. Для каждого элемента вызывается функция dekanpro_entry_meta_{$item}(). Достаточно:

  1. Подключиться к фильтру dekanpro_entry_meta_elements и добавить в массив строку views.
  2. Определить функцию dekanpro_entry_meta_views(), которая выводит иконку и число просмотров.

Просмотры показываем только на главной, в архивах и поиске — в add_views_to_meta_elements проверяем is_home() || is_archive() || is_search().

Шаг 3: Вывод значка

Функция dekanpro_entry_meta_views() получает ID поста через get_the_ID(), вызывает Post_Analytics_DB::get_view_count($post_id, 30), выводит span с классом entry-meta-views, внутри — SVG-иконка глаза и число, отформатированное через number_format_i18n(). Даже при нуле просмотров значок отображается (показывает 0).

Шаг 4: Стили

Подключаем отдельный CSS-файл плагина только на главной, в архивах и поиске. Стили задают:

  • display: inline-flex, align-items: center, gap: 4px — иконка и число в ряд
  • Размер иконки, лёгкая прозрачность
  • Поддержка тёмной темы

Структура нового файла

Класс Post_Analytics_Frontend в includes/class-post-analytics-frontend.php:

  • Фильтр dekanpro_entry_meta_elements — добавить views
  • Хук init (приоритет 20) — определить dekanpro_entry_meta_views
  • Хук wp_enqueue_scripts — подключить CSS

Итог

Плагин остаётся самодостаточным: не требует правок темы. Интеграция через фильтры и стандартные хуки WordPress. Значок просмотров появляется в каждой карточке поста на главной и в архивах автоматически.

Комментарии

Пока нет комментариев. Станьте первым!

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *