2016-08-12 6 views
1

ここに最初の投稿、私は本当に私が持っているJQueryの問題のいくつかの助けに感謝します。私は、残念なことにJQuery 1.7が必要なFlexslider2を使用して満たすことができる非常に特定のカルーセル/スライダの要件を持つWordpressサイトを持っています。私はここでnoconflictを利用する必要があることを知っていますが、ドキュメンテーションを見てきましたが、Javascriptがどこにあっても、私の特定のケースでそれを使用する方法を理解できないところでは、総ダンスです。現在、私はフッターのスクリプトをエンキューしています。そのため、JQueryの最新バージョンに依存しない他のものが動作しなくなっています。私はちょうどJQuery 1.7をどうやってどこにどこで呼び出すのか正確には分からないし、ギャラリ自体の下でそのスクリプトを修正して1.7バージョンを使用する方法を確かめる方法もない。どうもありがとうございます!Wordpressでエンキューして2番目の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の後にロードされていない可能性があります。トリッキーな部分は、jQueryの2番目のコピーを使用するようにスライダーJSを変更することはできません。 –

+0

つまり、noConflictなしで試して、新しい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に基づいて、スクリプトをエンキューすることができるので、競合を避けることができます。 – Samyappa

+0

ありがとう!古いバージョンを使用する必要があるテンプレートは1つだけですが、残念ながらすべてのページに最新のバージョンが必要なので、まだ矛盾があると思いますか? – Zoe

関連する問題