2016-08-12 35 views
1

首先发布在这里,我真的很感谢我遇到的JQuery问题。我有一个WordPress的网站,具有非常特定的旋转木马/滑块需求,可以使用Flexslider2,这不幸需要JQuery 1.7。我知道我需要在这里使用noconflict,并且查看过文档,但是在Javascript的任何地方都是一个彻头彻尾的笨蛋,并且在我的具体情况下无法弄清楚如何使用它。目前,我正在将脚本排入页脚,因此导致依赖更新版本的JQuery的其他内容不起作用。我只是不确定如何以及在哪里调用JQuery 1.7,然后如何修改该库下的脚本以确保它,并且只有它使用1.7版本。非常感谢!如何入队,然后在Wordpress中调用第二个JQuery版本

wp_enqueue_script('jquery17', 'https://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js', array(), null); 

图片列表下的页面上的代码,然后看起来是这样的(因为我有一个滑块和所连接的传送带)

$(window).load(function() { 
$('#carousel').flexslider({ 
animation: "slide", 
controlNav: false, 
animationLoop: false, 
slideshow: false, 
itemWidth: 100, 
itemMargin: 5, 
asNavFor: '#slider' 
}); 

$('#slider').flexslider({ 
animation: "slide", 
controlNav: false, 
animationLoop: false, 
slideshow: false, 
sync: "#carousel" 
}); 
}); 

回答

0

要做到这一点,最好的办法,并有可能唯一有效的方法是手动输出所需的脚本标记&直接在您的html中启用不冲突模式。

您可以通过wp_footer钩子以非常高的优先级来实现,而不会干扰其他插件。

add_action('wp_footer', 'my_custom_scripts', 500); 
function my_custom_scripts() { ?> 
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script> 
    <script type="text/javascript"> 
     $.noConflict(); 
    </script><?php 
} 
+0

谢谢!我可以在页脚中看到1.7被调用,并且它不会干扰其他JQuery相关的东西,但是我的滑块/传送带也不起作用。我是否需要修改代码以告诉它使用哪个版本的JQuery? – Zoe

+0

嗯,可能是因为你的滑块JS之后没有加载。棘手的部分是你不能修改滑块JS来使用jQuery的第二个副本。 –

+0

也就是说,您可能必须在不使用任何冲突的情况下尝试它,并强制在新的jQuery副本之后加载滑块JS。 –

0
add_action('init', 'my_register_styles'); 

function my_register_styles() { 
    wp_register_style('style1', get_template_directpry_uri() . '/style1.css'); 
    wp_register_style('style2', get_template_directpry_uri() . '/style2.css'); 
    wp_register_style('style3', get_template_directpry_uri() . '/style3.css'); 
} 

add_action('wp_enqueue_scripts', 'my_enqueue_styles'); 

function my_enqueue_styles() { 
    if (is_front_page()) { 
     wp_enqueue_style('style3'); 
    } elseif (is_page_template('special.php')) { 
     wp_enqueue_style('style1'); 
     wp_enqueue_style('style2'); 
    } else { 
     wp_enqueue_style('style1'); 
    } 
} 
+0

根据职位ID你可以enque脚本,所以你可以避免冲突。 – Samyappa

+0

谢谢!只有一个模板需要使用旧版本,但不幸的是,我需要在每个页面上使用最新版本,所以我认为这仍然会有冲突? – Zoe

相关问题