Давольно-таки давно начал пользоваться плагином «WP-PostViews». И все было хорошо до тех пор, пока не решил задействовать плагин «DB Cache Reloaded Fix» максимально.
Изначально «DB Cache Reloaded Fix» не кеширует таблицы «wp_posts» and «wp_postmeta» и счетчик показа страниц работает на ура. Но эффективность кеширования запросов к БД в этом случае мала.
Чтобы поправить это дело, я в настройках «DB Cache Reloaded Fix» очистил поле «Cache filter» — после чего количество кешируемых запросов сильно увеличилось и соответственно скорость отклика возрасла.
Но плюсы получились с побочным эффектом — перестали работать счетчики просмотра страниц.
Вскрытие показало, что причина в том, как плагин «WP-PostViews» обновляет счетчик. Он берет текущее значение счетчика и к нему прибавляет 1. Вот здесь и загвоздка — ведь информация о счетчике хранится в таблице «wp_postmeta», значения которой стали кешироваться — получается мы все время толчемся на одном месте — к закешированному числу прибавляем 1 и так каждый раз при обращении к сайту.
Решение простое: «Обновлять счетчик прямым запросом к БД» — таким образом получится обойти закешированное значение счетчика.