Слава нації
#StandWithUkraine

Роман Теличко

Блог з програмування, оптимізації та адміністрування систем

WordPress: AJAX Hits Counter и мои первые 10.000 скачиваний

// | 1105 переглядів

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

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

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

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

Первые версии запускали скрипт добавления "+1" через jQuery, что идёт в стандартный набор WordPress. Позже я избавился и от него в сторону просторы и скорости работы.

Первая версия Popular Posts Widget (AJAX Hits Counter v0.5)Виджет Популярных Записей (скрин первой версии справа) появился не с самого начала. Первые 5 версий просто отображали количество просмотров постов отдельным столбцом в админке, чего на тот момент хватало.
Потом я понял что такого виджета ну просто не хватает.

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

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

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

Несколько недель назад ко мне обратились с просьбой добавить импорт всех просмотров с плагина WP-PostViews (почти 1 млн. скачиваний), поскольку после установки популярного плагина кэширования W3 Total Cache просмотры просто перестали считаться, что довольно логично, т.к. W3 Total Cache кэширует вывод PHP, не запуская его повторно.
Я добавил возможность перехода от популярного WP-PostViews на мой плагин.

Сейчас, в 33 версию плагина по счёту (v0.8.7), Виджет Популярных Записей выглядит так:
Popular Posts Widget (AJAX Hits Counter v0.8.7)

Я понимаю что это далеко не конец и у меня ещё есть длинный список TODO, что пока не реализовано, но обязательно будет.

Вот официальная страница плагина AJAX Hits Counter + Popular Posts Widget в каталоге плагинов WordPress: https://wordpress.org/plugins/ajax-hits-counter/

Качайте. Пользуйтесь.