Идея плагина родилась в августе 2012, когда возникла необходимость вывода популярных записей блога с последующим кэшированием как самого виджета, так и скрипта добавления "+1" просмотрам.
Произведя ресёрч по существующим плагинам, я понял что аналогов с таким функционалом ну просто нет. В основном всё считается запуском какой-то php-функции плагина, что конечно же не будет работать при кэшировании страниц nginx’ом (когда до PHP дело вообще не доходит).
Выходом из этой ситуации был только AJAX-скрипт, что вызывался бы при отображении поста с рандомными параметрами для исключения возможности кэширования по URL. Также это будет означать, что спам-боты, поисковые роботы и прочие без-JavaScript-овые клиенты учитываться не будут, что предполагает более точную статистику.
Опыта написаний плагинов для WordPress к тому времени у меня вообще не было, но я решил его сделать. Это было немного больше чем год назад.
Первые версии запускали скрипт добавления "+1" через jQuery, что идёт в стандартный набор WordPress. Позже я избавился и от него в сторону просторы и скорости работы.
Виджет Популярных Записей (скрин первой версии справа) появился не с самого начала. Первые 5 версий просто отображали количество просмотров постов отдельным столбцом в админке, чего на тот момент хватало.
Потом я понял что такого виджета ну просто не хватает.
Сразу после добавления виджета пошёл траффик в скачиваниях — людям не хватало визуального отображения популярных записей, что тоже логично.
Также появились и просьбы добавления разных дополнительных функций в виджет, что особенно радовало, т.к. не нужно было особо ничего нового придумывать – просто читать пожелания и комментарии к плагину, которые отображали то, чего не хватало людям 🙂
Так добавились возможности смены/установки значения количества просмотров в админке при редактировании записей, отображение текущего количества просмотром через вызов PHP-функции прямо в шаблоне вывода поста, отображение постов по временным диапазонам, фильтрация по категориям, исключение категорий и многое другое.
Несколько недель назад ко мне обратились с просьбой добавить импорт всех просмотров с плагина WP-PostViews (почти 1 млн. скачиваний), поскольку после установки популярного плагина кэширования W3 Total Cache просмотры просто перестали считаться, что довольно логично, т.к. W3 Total Cache кэширует вывод PHP, не запуская его повторно.
Я добавил возможность перехода от популярного WP-PostViews на мой плагин.
Сейчас, в 33 версию плагина по счёту (v0.8.7), Виджет Популярных Записей выглядит так:
Я понимаю что это далеко не конец и у меня ещё есть длинный список TODO, что пока не реализовано, но обязательно будет.
Вот официальная страница плагина AJAX Hits Counter + Popular Posts Widget в каталоге плагинов WordPress: https://wordpress.org/plugins/ajax-hits-counter/
Качайте. Пользуйтесь.