WP Guru,
我正在测试enqueue / dequeue,因为在我的子主题中,我试图从父主题覆盖排队的脚本块。
也许我做错了但是我在child theme的functions.php顶部添加了这段代码。我希望不会看到那个回音的声明,但我确实如此。
我上下移动了优先级属性,没有任何乐趣。它应该是非常直接的,除非我说错了。
我做错了什么?
由于
add_action('wp_enqueue_scripts', 'sometest', 90);
add_action('wp_enqueue_scripts', 'undo_it',80);
function sometest() {
echo '****** IF YOU SEE ME THEN ITS NOT WORKING *****************';
}
function undo_it() {
wp_dequeue_script( 'sometest' );
wp_deregister_script( 'sometest' );
}
答案 0 :(得分:0)
最好使用实际脚本而不是echo
进行测试。主要问题是wp_dequeue_script
和wp_deregister_script
将$handle
作为参数而不是函数名称。
例如:
function de_script() {
wp_dequeue_script( 'jquery' );
wp_deregister_script( 'jquery' );
}
在这种情况下, jquery
是在$handle
和wp_enqueue_script
wp_register_script
这些都是在这些函数的codex中编写的。 http://codex.wordpress.org/Function_Reference/wp_dequeue_script http://codex.wordpress.org/Function_Reference/wp_deregister_script http://codex.wordpress.org/Function_Reference/wp_enqueue_script http://codex.wordpress.org/Function_Reference/wp_register_script
如果父主题未使用wp_enqueue_script
而wp_register_script
使用$handle
,那么他们 做错了 。< / p>
答案 1 :(得分:0)
我不是百分百肯定你在这里想要完成的事情。您在undo_it
中运行的代码对echo
中的sometest
无效。 wp_enqueue_script
和相关函数用于将JavaScript文件注入页面,而不是修改钩住的PHP函数。
您可能正在寻找remove_action
功能。