检查Wordpress主题中是否存在特定操作或过滤器

时间:2014-01-12 12:05:51

标签: php wordpress

我想检查Wordpress主题中是否存在任何操作/过滤器。

我尝试了has_actionhas_filter。但是这些函数的问题在于,如果钩子/过滤器存在并且没有向钩子添加回调或者从钩子中删除所有回调,则这些回调将返回false。

1 个答案:

答案 0 :(得分:3)

没有内置的Wordpress功能可以检查这一点。但是您可以使用以下代码检查是否存在过滤器:

// check for the existence of "the_content" filter
if( array_key_exists( 'the_content' , $GLOBALS['wp_filter']) ) {
}

这个问题是它只检查过滤器是否存在在上面代码运行的位置。因此,如果上面的代码在插件中运行,并且在主题模板文件中添加了一个过滤器(稍后会按执行顺序发生,它就不会显示出来。