我添加了此代码以添加jQuery
wp_enqueue_script( \'jqueryadd\',\'http://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js\', array(),\'22.23\',true );
但我认为这是不必要的,因为我相信wordpress附带了jquery,而wp\\u enqueue脚本提供了是否包含jquery的选项。
但这是一个脚本形式的mdbootstrap。如果我删除上面的代码,它会给我一个错误$ is not a function 如果我将jquery列在其上方,则效果很好。
wp_enqueue_script( \'md-boot\',\'https://cdnjs.cloudflare.com/ajax/libs/mdbootstrap/4.5.4/js/mdb.min.js\', array( \'jquery\' ),\'1.25\',true );
我不知道出了什么问题。请帮忙谢谢
最合适的回答,由SO网友:Jacob Peattie 整理而成
“mdbootstrap”的构建方式似乎不支持无冲突模式下的jQuery,WordPress就是这样运行的。根据this forum thread 2年前,他们打算增加支持,但显然他们从来没有这样做过。
如果必须使用此库,那么我认为不直接修改库的最简单解决方案是在将脚本排队的代码旁边添加这一行:
wp_add_inline_script( \'jquery-core\', \'window.$ = jQuery;\' );
这将把WordPress的jQuery放入
$
变量,以便mdbootstrap可以使用它。请注意,如果您运行任何其他可能使用
$
符号作为全局变量。
这应该可以解决您在这里报告的特定错误(“$不是函数”),但我不能保证mdbootstrap与WordPress捆绑的jQuery版本兼容。如果没有,那么你唯一的选择就是加载一个不同的版本,但是你必须处理这样的可能性,即它可能会导致其他期望捆绑版本的插件出现问题。