没有覆盖wp\\u head()期间产生的整个输出的过滤器。您必须使用一个相当复杂的过程,即在wp\\u头之前开始输出缓冲,然后在释放缓冲之前过滤掉您不想要的内容。
让我们假设您正在处理已正确注册脚本的插件>尝试将其添加到您的函数中。php,然后查看其中一个页面的源代码:
add_action(\'wp_head\', \'debug_scripts_queued\');
function debug_scripts_queued() {
global $wp_scripts;
echo \'<!--- SCRIPTS QUEUED\'."\\r\\n";
foreach ( $wp_scripts->queue as $script ) {
echo "\\r\\nSCRIPT: ".$script."\\r\\n";
$deps = $wp_scripts->registered[$script]->deps;
if ($deps) {
echo "DEPENDENCIES: ";
print_r($deps);
}
}
echo "\\r\\n--->";
}
这将列出所有实际注册的脚本及其依赖项。
如果要取消注册的内容在该列表中,并且没有作为另一个脚本的依赖项调用,那么最简单的方法就是调用wp_deregister_script
使用此处列出的句柄。
不过,您很可能正在处理一个插件在添加脚本时没有遵循最佳实践的情况。从您的输出来看,有些插件添加了jQuery 1.5,而没有先注销jQuery并用不同的版本重新注册它。所以,任何依赖jquery的东西都会强制包含捆绑在WP中的版本。