无法找到导入WordPress脚本的位置/方式wp_head();

时间:2014-10-30 12:01:11

标签: javascript wordpress

大家好,我在使用Wordpress网站时遇到了一些麻烦。

我正在改变网站上加载脚本的方式(异步vs同步),并对无用的脚本(多个版本的jquery等等)进行一些清除。 其中一些在标题上加载简单明了( header.php ),我已经移动了它们,其他一些加载了一个名为 wp_head();

这个函数加载了很多东西(脚本和纯文本javascript),但我无法找到它的位置...

我在那里看了 How to find HTML rendered by <?php wp_head(); ?> in WordPress? 有很多功能可以通过实例,插件和更多内容挂钩,但是如何才能找到它们呢?

任何人都可以帮助我?

由于

1 个答案:

答案 0 :(得分:3)

通常脚本挂钩在wp_enqueue_scripts中挂钩的wp_head挂钩中。 我的意思通常是因为不是每个开发人员都遵循这些准则。

您可以使用@Rarst已创建

的此功能检查wp_enqueue_scripts中挂钩的功能

将它放在你的functions.php中:

/**
 * A function to visually dump a hook.
 *
 * @param $tag
 * @param $hook
 */
function cis_dump_hook($tag, $hook) {
    ksort($hook->callbacks);

    echo "<pre>>>>>>\t$tag<br>";

    foreach ($hook->callbacks as $priority => $functions) {

        echo $priority;

        foreach ($functions as $function) {
            if ($function['function'] != 'list_hook_details') {

                echo "\t";

                if(is_closure($function['function'])) {
                    echo "Closure: function(){}";
                } else if (is_string($function['function'])) {
                    echo $function['function'];
                } else if (is_string($function['function'][0])) {
                    echo $function['function'][0] . ' -> ' . $function['function'][1];
                } else if (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);
}

并将其称为:list_hooks( 'wp_enqueue_scripts' );

我真的建议在开发环境中这样做。 这将返回隐藏在 wp_enqueue_scripts 挂钩中的函数列表。 要了解有关这些功能的更多信息,请查看帖子Debug WordPress hooks