2016-08-12 49 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

相關問題