如何获取所有入队脚本的$句柄?

时间:2012-06-03 作者:trusktr

是否有某种方法可以为已排队的每个脚本获取$句柄?

是否有保存所有句柄的数组,以便我可以循环遍历它并使用每个$句柄执行某些操作?

2 个回复
最合适的回答,由SO网友:Milo 整理而成

这个$wp_scripts 全局保存所有脚本数据:

function wpa54064_inspect_scripts() {
    global $wp_scripts;
    foreach( $wp_scripts->queue as $handle ) :
        echo $handle;
    endforeach;
}
add_action( \'wp_print_scripts\', \'wpa54064_inspect_scripts\' );

SO网友:vhs

是否有某种方法可以为已排队的每个脚本获取$句柄?

你可以试着检查一下$wp_scripts->queue 在一个特定的钩子上,但它不会给出WordPress使用的所有句柄的列表,信不信由你。

例如,您可以wp_head, 运行wp_print_scripts 操作,以获取$handles 对于WP v4中的库存2017主题。7.5:

function get_enqueued_scripts () {
    $scripts = wp_scripts();
    var_dump( array_keys( $scripts->groups ) );
}

add_action( \'wp_head\', \'get_enqueued_scripts\' );
以及$handles 从…起$wp_scripts->groups 将输出:

enter image description here

此时,如果要比较$wp_scripts->queue 您将只看到上述内容的一个子集。

因此,即使wp_print_scripts will not 提供如上所示的句柄的完整列表,如果这是您想要的。而且也不可能总是依赖分组依赖项来获取它们。

结束

相关推荐

ADMIN_PRINT_SCRIPTS-$HOOK_SUFFIX是否适用于指向单个文件的嵌套路径?

可以用钩子admin_print_scripts-$hook_suffix 用于创建的挂钩,如$hookname = get_plugin_page_hookname(\"my-quiz/lib/admin/$code_page\", \'\' );?哪里$code_page 是somefilename.php.我试过了,但似乎不起作用。我想这可能是因为文件路径?UPDATE上面的代码注册的是“admin\\u page\\u my-quick/lib/admin/question\\u form”,但这