我为我的网页制作了一个插件。它可以作为一个独立的HTML文件工作。但当我将其用作wp插件时,我需要一个jQuery插件(引导滑块https://github.com/seiyria/bootstrap-slider) 在上面抛出此错误。
我包括了jquery和如下boostrap滑块插件:
wp_enqueue_script( \'child_jquery\',\'cdn URl\');
wp_enqueue_script(\'bootstrap-slider\', \'CDN Url\');
并在我的代码中调用插件,以便:
jQuery("#m1,#m2,#m3,#m4,#m5,#m6,#m7,#m8,#m9,#m10,#m11,#m12").slider({
reversed : true,
tooltip: \'show\'
});
此调用位于document ready函数中:
jQuery(document).ready(function(){
我的怀疑是,在加载插件后,会出现进一步的jquery。因此,在源代码中,我已经(简化):
jquery.js
bootstrap-slider.js
jquery.js (an old one from wp)
我试着注销它,然后又把它排队了。但是如果我这样做了,插件仍然不能工作,另一个插件会抛出这个错误。
有什么想法吗?
提前感谢
最合适的回答,由SO网友:xvilo 整理而成
您可以尝试以下代码:
add_action("wp_enqueue_scripts", "my_jquery_enqueue", 11);
function my_jquery_enqueue() {
wp_deregister_script(\'jquery\');
wp_register_script(\'jquery\', "//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js", false, null);
wp_enqueue_script(\'jquery\');
wp_enqueue_script(\'bootstrap-slider\', \'CDN Url\', array(\'jquery\'), false, null);
}
我正在做的是注销WP jQuery脚本。然后,我将用CDN添加一个新的jQuery脚本。我将此脚本排队,然后将引导程序滑块脚本与jquery作为依赖项排队。这意味着jQuery将在引导滑块之前加载。
如果这对你有用,请告诉我。
SO网友:Terry Hyam
我的BxSlider插件也有类似的问题,现在已经用您的方法修复了(请参阅下面我的wcslider.php文件的摘录),非常感谢。
function wcslider_scripts() {
wp_enqueue_style(\'bxslider\', WCSLIDER_PATH . \'/css/jquery.bxslider.min.css\');
if(wp_script_is(\'jquery\', \'enqueued\')) {
wp_deregister_script(\'jquery\');
wp_register_script(\'jquery\', "//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js", false, null);
wp_enqueue_script(\'bxsliderjs\', WCSLIDER_PATH . \'/js/jquery.bxslider.min.js\', array(\'jquery\'), false, null);
} else {
wp_enqueue_script(\'jquery\');
} wp_enqueue_script(\'bxsliderjs\', WCSLIDER_PATH . \'/js/jquery.bxslider.min.js\', array(\'jquery\'), false, null);
}
add_action(\'wp_enqueue_scripts\', \'wcslider_scripts\');