在W3总缓存之前截取

时间:2012-06-12 作者:Volomike

我正在编写一个插件,我想在其中读取用户代理并将自定义头发送回某些代理。然而不幸的是,有几个人有W3 Total Cache插件,它所做的是,当我有条件发回自定义头时,它会发回所有用户代理的自定义头,而不是运行我的事件逻辑。我试图在我的事件中加载。。。

add_action(\'plugins_loaded\',\'MY_PLUGIN::checkRules\',-1000000000);
。。。但W3 Total缓存通过拦截。htaccess或其他机制。不幸的是,我不得不在plugins_loaded 级别,因为我需要查询get_option.

即使使用了W3 Total Cache,我如何使插件工作?

2 个回复
SO网友:EAMann

如果在.htaccess 在这个级别上,通过插件拦截流量并没有什么用处。相反,您应该制定一组建议的.htaccess 与W3TC和插件一起使用的规则,允许流量通过或返回缓存内容。

也许,可以自动生成要为其发送自定义标头的用户代理列表,并使用该列表—通过.htaccess—允许某些流量绕过缓存。

SO网友:Volomike

我找到了解决方法。一个需要在W3TC版本0.9.2.4或更高版本上,因为这就是我测试代码更改的地方。我必须编辑插件的代码,并找到我检查用户代理并返回响应的任何地方。就在我返回否定响应之前(比如404或403——无论用户在插件设置中设置了什么),我必须添加以下行:

define(\'DONOTCACHEPAGE\', true);
还要注意的是,我检查用户代理的方式是通过WordPress事件进行函数调用,该事件在事件链中处于非常高的位置:

add_action(\'plugins_loaded\',\'MYPLUGIN::checkAgents\',-1000000000);
这个add\\u action()很重要,因为它需要在W3TC插件加载之前位于加载链的高端。这就是为什么使用负优先级编号。

结束

相关推荐

在W3总缓存之前截取 - 小码农CODE - 行之有效找到问题解决它

在W3总缓存之前截取

时间:2012-06-12 作者:Volomike

我正在编写一个插件,我想在其中读取用户代理并将自定义头发送回某些代理。然而不幸的是,有几个人有W3 Total Cache插件,它所做的是,当我有条件发回自定义头时,它会发回所有用户代理的自定义头,而不是运行我的事件逻辑。我试图在我的事件中加载。。。

add_action(\'plugins_loaded\',\'MY_PLUGIN::checkRules\',-1000000000);
。。。但W3 Total缓存通过拦截。htaccess或其他机制。不幸的是,我不得不在plugins_loaded 级别,因为我需要查询get_option.

即使使用了W3 Total Cache,我如何使插件工作?

2 个回复
SO网友:EAMann

如果在.htaccess 在这个级别上,通过插件拦截流量并没有什么用处。相反,您应该制定一组建议的.htaccess 与W3TC和插件一起使用的规则,允许流量通过或返回缓存内容。

也许,可以自动生成要为其发送自定义标头的用户代理列表,并使用该列表—通过.htaccess—允许某些流量绕过缓存。

SO网友:Volomike

我找到了解决方法。一个需要在W3TC版本0.9.2.4或更高版本上,因为这就是我测试代码更改的地方。我必须编辑插件的代码,并找到我检查用户代理并返回响应的任何地方。就在我返回否定响应之前(比如404或403——无论用户在插件设置中设置了什么),我必须添加以下行:

define(\'DONOTCACHEPAGE\', true);
还要注意的是,我检查用户代理的方式是通过WordPress事件进行函数调用,该事件在事件链中处于非常高的位置:

add_action(\'plugins_loaded\',\'MYPLUGIN::checkAgents\',-1000000000);
这个add\\u action()很重要,因为它需要在W3TC插件加载之前位于加载链的高端。这就是为什么使用负优先级编号。

相关推荐