Wordpress子主题jQuery与父主题冲突';s jQuery
我开发了一个Wordpress子主题,在其中我将jQuery排队:Wordpress子主题jQuery与父主题冲突';s jQuery,jquery,wordpress,wordpress-theming,Jquery,Wordpress,Wordpress Theming,我开发了一个Wordpress子主题,在其中我将jQuery排队: wp_enqueue_script('jquery-js', '//ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js'); 但它与父主题中排队的jQuery相冲突 因此,我删除了上面的排队脚本,并在脚本排队中添加了依赖项: wp_enqueue_script('main-js', get_theme_file_uri('/js/scripts-bundled.js
wp_enqueue_script('jquery-js', '//ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js');
但它与父主题中排队的jQuery相冲突
因此,我删除了上面的排队脚本,并在脚本排队中添加了依赖项:
wp_enqueue_script('main-js', get_theme_file_uri('/js/scripts-bundled.js'), array('jquery'), '1.2', true);
但它不起作用(在浏览器控制台中出现错误“$不是函数”)。我检查了页面源代码,发现父主题的脚本在子主题的脚本之后加载
如何解决这个问题?第一种方法是错误的,您不应该将外部jQuery文件排队 第二种方法是正确的,但有一个小问题可以通过以下两种方法之一解决:
我可以建议另一种方法是理想的吗?不要用
jQuery
替换所有$
,而是将所有jQuery包装在一个无冲突的安全文档中,如下所示:jQuery(函数($){/…$在这里使用是安全的…})代码>-我不建议禁用无冲突模式。。。。WP这样做是有原因的!我采取了#1方法,解决了问题。非常感谢!为什么我不能使用$?
function disable_noconflict() {
wp_add_inline_script( 'jquery-core', '$ = jQuery;' );
}
add_action( 'wp_enqueue_scripts', 'disable_noconflict' );