
Communis opinio
Коллеги, читающие мои «Итоги года», часто спрашивают, откуда я взял картинку с «кафельной стенкой» постов в блоге.
Вот, например, за 2024 год:

Я использую джетпаковскую «Статистику», там есть раздел «Тенденции». В чём проблемы:
- Это нельзя вставить в виде интерактивного блока в вордпресс-пост. Только заскриншотить, как выше.
- «Тенденции» доступны либо платным пользователям джетпака, либо на полносью некоммерческих сайтах, на которых ничего не продаётся и автор не собирает донаты и не постит рекламу. Джетпак это отслеживает и живо отрубает «Тенденции», даже если вы просто выложите рабочие контакты текущего работодателя.
В общем, я собрался и написал плагин, выводящий вот такое:
Посты сайта bychko.ru за последние 12 месяцев
Он круче джетпаковского, потому что:
- Позволяет выбрать, с какого сайта собрать инфу о постах. Можно не только со своего, но и вообще, с любого вордпресс-блога.
- Можно задать тег заголовка.
- Можно задать, за какой год вывести записи.
- Можно кликать по дням с постами. По клику откроется страница этого дня.
- Можно кликать по месяцам, будут отображаться посты за этот месяц.
- Плагин хорошо дополняется плагином alone-post-redirector, который в случае наличия единственного поста за день, в категории или метки, сразу редиректить на него. У меня просто чаще всего, не более одного поста в день.
Ну и плагин полностью локализован, вплоть до тултипов дат постов, они подхватывают формат даты из настроек вордпресса, а также корректных окончаний.
Как всегда, всё бесплатно, с указанием авторства. Issue приветствуются.
Забирать отсюда.
В планах сделать опции ширины, чтобы можно было задать на колонку контента, ширину содержимого и всю страницу. Сейчас пока размер стандартизованный. На мобилке полоса прокрутки.
История изменений
- Добавление заголовков постов в тултипы при наведении на день календаря
- Умное форматирование тултипов: один пост — в одну строчку, несколько постов — друг над другом
- Улучшенная структура данных API для хранения заголовков постов вместе с количеством
- Gutenberg блок для отображения диаграмм активности постов
- Шорткод поддержка для классического редактора WordPress
- Модульная архитектура с отдельными классами для управления ресурсами
- AJAX обработчики для получения данных о постах
- API класс для работы с данными постов и статистикой
- Регистрация Gutenberg блока с атрибутами и настройками
- Подключение ресурсов для редактора блоков (JavaScript и CSS)
- Фронтенд ресурсы для отображения диаграмм на сайте
- Локализация интерфейса на русский и английский языки
- Версионирование ресурсов через filemtime для кэширования
- Передача настроек плагина в JavaScript через wp_localize_script
- Интеграция с WordPress Block API и Gutenberg
- Исправлен критический баг с отображением месяцев в календаре — вместо февраля второй раз отображался март
- Проблема была в методе setMonth() JavaScript, который ведет себя непредсказуемо при переходе через год
- Заменено использование setMonth() на создание новых объектов Date с правильными параметрами year, month, day
- Теперь календарь корректно отображает все 12 месяцев без дублирования





