我需要知道当前页面中调用的挂钩列表。如何确定分配给操作的优先级以及操作中的筛选器。如果要删除word上的默认操作,请按。是否会导致任何错误?我可以覆盖要执行的默认操作吗?
add_filter( $tag, $function_to_add, $priority, $accepted_args );
在这种情况下,我将优先级更改为50。与10或默认值相比,我没有得到任何更改。如果此优先级值用于执行顺序,则意味着我需要将值更改为更大或更小?。
最合适的回答,由SO网友:Sudeep K Rana 整理而成
将其粘贴到函数中。php
//LIST ALL HOOKS
function dump_hook( $tag, $hook ) {
ksort($hook);
echo "<pre>>>>>>\\t$tag<br>";
foreach( $hook as $priority => $functions ) {
echo $priority;
foreach( $functions as $function )
if( $function[\'function\'] != \'list_hook_details\' ) {
echo "\\t";
if( is_string( $function[\'function\'] ) )
echo $function[\'function\'];
elseif( is_string( $function[\'function\'][0] ) )
echo $function[\'function\'][0] . \' -> \' . $function[\'function\'][1];
elseif( is_object( $function[\'function\'][0] ) )
echo "(object) " . get_class( $function[\'function\'][0] ) . \' -> \' . $function[\'function\'][1];
else
print_r($function);
echo \' (\' . $function[\'accepted_args\'] . \') <br>\';
}
}
echo \'</pre>\';
}
function list_hooks( $filter = false ){
global $wp_filter;
$hooks = $wp_filter;
ksort( $hooks );
foreach( $hooks as $tag => $hook )
if ( false === $filter || false !== strpos( $tag, $filter ) )
dump_hook($tag, $hook);
}
把这个写在索引上。php或单个。php或任何其他页面,以查看应用于特定函数的过滤器
along with priority.
<?php list_hooks(); ?>
此方法甚至可以显示您自己的创建过滤器。