WordPress的儿童主题jQuery与父主题的jQuery冲突

时间:2018-06-21 13:46:31

标签: jquery wordpress wordpress-theming


我开发了一个Wordpress儿童主题,并在其中加入了jQuery:

<ItemGroup>
    <Content Include="dist/**" />
</ItemGroup>

但这与父主题中排队的jQuery冲突。

因此,我删除了上面的入队脚本,并在我的脚本入队中添加了依赖性:

wp_enqueue_script('jquery-js', '//ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js');

但是它不起作用(在浏览器控制台中收到错误“ $不是函数”)。我检查了页面源代码,发现父主题的脚本在子主题的脚本之后加载

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

第一种方法是错误的,您不应将外部jQuery文件放入队列。

第二种方法是正确的,但是存在一个小问题,可以解决以下两种方法之一:

  1. 将所有$符号替换为js / scripts-bundled.js中的jQuery。它将解决问题。这是比我在下面写的方法更正确的方法。

  2. 使用以下脚本禁用jQuery Noconflict模式:(您可以将其添加到主题的functions.php中)

    function disable_noconflict() {
    wp_add_inline_script( 'jquery-core', '$ = jQuery;' );
    }
    add_action( 'wp_enqueue_scripts', 'disable_noconflict' );