如何在当前加载页面中列出钩子和执行顺序?

时间:2014-02-25 作者:Babu

我需要知道当前页面中调用的挂钩列表。如何确定分配给操作的优先级以及操作中的筛选器。如果要删除word上的默认操作,请按。是否会导致任何错误?我可以覆盖要执行的默认操作吗?

add_filter( $tag, $function_to_add, $priority, $accepted_args ); 
在这种情况下,我将优先级更改为50。与10或默认值相比,我没有得到任何更改。如果此优先级值用于执行顺序,则意味着我需要将值更改为更大或更小?。

2 个回复
最合适的回答,由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(); ?>
此方法甚至可以显示您自己的创建过滤器。

SO网友:czerspalace

优先级较低的数字首先执行,优先级较高的数字最后执行

结束

相关推荐

为什么如此频繁地调用xmlrpc.php和wp-cron.php?

我正在运行Wordpress网站,从服务器日志中发现xmlrpc。php和wp cron。php的请求(当然是POST请求)非常频繁,包括一些散发恶意活动或尝试气味的可疑IP。我的理解是xmlrpc。php提供了一个“API”,供其他人与站点交互。wp cron。php用于定期任务。那么,为什么我看到这么多的请求,而这些页面?黑客是否在寻找某种后门或安全漏洞?