要挂接哪些挂钩以自动清除缓存

时间:2011-03-31 作者:Tommi Forsström

我有一个WP站点,写的不多,但有很多读取和模板中的一些特定热点,我想用我自己的PHP缓存机制对这些热点进行非常积极的缓存。

我可以使用基于时间的缓存过期方案来实现这一点,但我确信Wordpress提供了监听不同事件所需的所有API,因此我还可以连接到它们,以获取何时需要清除缓存的信息。

所以,我对Wordpress的所有挂钩/过滤器有点迷茫。我可以很容易地将侦听器添加到挂钩中,但我对可用挂钩的数量有点不知所措,所以我的问题是:

我应该挂接哪些钩子,以便基本上能够在posts表上的每次插入/更新/删除操作时执行脚本?

非常感谢您在前进的道路上提出的任何建议!

3 个回复
SO网友:JanWillem

虽然我知道这并不是你问题的答案,但它可能会给你灵感,让你了解其他人是如何做到这一点的:Clear W3C Total Cache

SO网友:Rarst

我只想在更新、删除或添加帖子时清除缓存

无需为此而使用SQL。WordPress具有动态(由变量而非硬编码形成)挂钩,用于更改帖子状态。看见Post Status Transitions 在法典中。

有了这些,您可以精确地钩住特定类型的帖子,将其更改为特定状态。

SO网友:Michael Ecklund

我在博客上写了一篇文章,直接回答了这个问题。我的帖子详细介绍了如何安装代码、如何使用代码以及代码的作用。

如果您阅读了我的博客文章,您将能够轻松、自动地从WordPress插件W3 Total Cache中清除WordPress操作挂钩:save\\u post上的缓存。

Automatically clear all caches with W3 Total Cache

在WordPress操作挂钩save\\u post上,您有以下要清除的缓存选项:

$this->clear_db_caches();
    Calls the W3TC function: w3tc_dbcache_flush();
    Clears the DB caches completely. Note: Doesn’t clear MySQL Query Cache, just WP based DB caches.
$this->clear_minify_caches();
    Calls the W3TC function: w3tc_minify_flush();
    Clears the minified content caches completely.
$this->clear_object_caches();
    Calls the W3TC function: w3tc_objectcache_flush();
    Clears the object caches completely.
$this->clear_page_caches();
    Calls the W3TC function: w3tc_pgcache_flush();
    Clears the Page Cache completely.
$this->clear_all_caches();
    Calls each of the W3TC functions in one instance.
    Attempts to clear all W3TC caches completely.

结束

相关推荐

是否为WordPress+Nginx和WP-SuperCache配置路由规则?

你怎么set up routing rules 正确使用Nginx 支持WP Super Cache 对于WordPress(3.x)网站?