У меня есть WP-сайт с не таким большим количеством записей, но с довольно большим количеством чтений и несколькими конкретными точками доступа в шаблонах, которые я хотел бы довольно агрессивно кэшировать с помощью моего собственного механизма кэширования PHP.
Я мог бы реализовать это с помощью схемы истечения срока действия кеша на основе времени, но, поскольку я уверен, что WordPress предоставляет весь API, необходимый мне для прослушивания различных событий, я также мог бы подключиться к ним для получения информации о том, когда мне нужно очистить кеши.
Итак, я немного запутался во всех хуках/фильтрах WordPress. Я могу достаточно легко добавлять слушателей к хукам, но я слишком перегружен количеством доступных хуков, поэтому мой вопрос:
Какие хуки я должен подключить, чтобы иметь возможность выполнять скрипт при каждой операции INSERT/UPDATE/DELETE в таблице сообщений?
Любые указатели на пути вперед очень ценятся!
Подключение к каждому отдельному запросу, вероятно, было бы огромной тратой ресурсов. Не могли бы вы более четко указать, что именно вы хотите запустить очистку кеша?
Вероятно, да, но опять же, контент на нашем сайте обновляется не так часто, и я хочу, чтобы кеш очищался только при обновлении, удалении или добавлении сообщений.
На самом деле, это не ответило на мой вопрос, но решило мою проблему! С информацией в этом вопросе я могу настроить W3 в соответствии со своими потребностями вместо того, чтобы использовать свои собственные.
Хотя я понимаю, что на самом деле это не ответ на ваш вопрос, это может вдохновить вас на то, как это сделал кто-то другой: Очистить общий кэш W3C
Не нужно возиться с SQL для этого. В WordPress есть динамические (сформированные из переменных, а не жестко запрограммированные) хуки для изменения статуса записи. См. раздел «Переходы статуса сообщения» в Кодексе.
С их помощью вы можете точно подключиться к сообщению определенного типа, изменяющемуся на определенный статус.
Я написал пост в своем блоге, который напрямую отвечает на эту тему. В моем посте подробно рассказывается, как установить код, как использовать код и что он делает.
Если вы прочтете мой пост в блоге, вы сможете легко автоматически очищать кеши с помощью хука действия WordPress: save_post из плагина WordPress: W3 Total Cache.
Автоматически очищайте все кеши с помощью W3 Total Cache
У вас есть следующие варианты того, какие кеши очищать при хуке действия WordPress save_post: