我想检查Wordpress主题中是否存在任何操作/过滤器。
我尝试了has_action
和has_filter
。但是这些函数的问题在于,如果钩子/过滤器存在并且没有向钩子添加回调或者从钩子中删除所有回调,则这些回调将返回false。
答案 0 :(得分:3)
没有内置的Wordpress功能可以检查这一点。但是您可以使用以下代码检查是否存在过滤器:
// check for the existence of "the_content" filter
if( array_key_exists( 'the_content' , $GLOBALS['wp_filter']) ) {
}
这个问题是它只检查过滤器是否存在在上面代码运行的位置。因此,如果上面的代码在插件中运行,并且在主题模板文件中添加了一个过滤器(稍后会按执行顺序发生,它就不会显示出来。