質問: wordpress jqueryとプラグインの競合 こんにちは、あなたの助けを事前に感謝します。私は私の研究をしました、そして、私はこれに少し困惑しています...私はクライアントのためにwordpressのウェブサイトを構築しています、そしてそれは電子ストアを持つことになるでしょう。私はwp-eコマースを使っています。すべてのストアページがjavascriptエラーで読み込まれています。 http://www.thecollectiveclothingco.com/products-page/t-shirts/ jquery("form.product_form").livequery is not a function [break on this error] jquery("form.product_form").livequery(function(){ ある程度のグーグル時代を経て、私はこの問題をスクリプトの矛盾として診断したと思います。言い換えれば、wpかプラグイン自身がjqueryを提供しています、そして私はそれをサイト上の他の何かのためにも含みます。 jqueryスクリプト呼び出しを削除すると、問題は解消され、ストアは正常に機能します。しかし、私はそのjqueryが必要です...この問題を解決するためにwp enqeueを使用することについて読みました。function my_init_method() { if (!is_admin()) { wp_deregister_script( 'jquery' ); wp_register_script( 'jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js'); wp_enqueue_script( 'jquery' ); } } add_action('init', 'my_init_method');php wp_head(); 私はこれを正しく行ったと思いますが、何も修正していないようです。何か案は?再度、感謝します。編集:さて、私はそれを考え出した...それは物事を修正したエンキュースクリプトでした。 wp(head);登録解除の前に来て、一部をエンキューしなければなりませんでした。私は文書を間違って読んだにちがいありません。これがヘッダに追加したものです。<?php wp_head(); wp_deregister_script('jquery'); wp_enqueue_script('jquery', myurl .'http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js', false, '1.4.4'); ?>
回答: 現在サイトにロードされているjqueryの2つのコピーがあります。 ヘッダーにはwordpressに同梱されているjqueryがあり、おそらくいくつかのプラグインから要求されています。 フッターには、google cdnのjqueryがあります。 明らかにこれは多すぎます。それを処理する方法は2つあります。 バンドルコピーの使用に問題がなければ、スクリプトを登録/エンキューし、依存関係でjqueryを宣言する必要があります。codex: wp_register_script() 、$deps引数を参照してください。 jqueryをgoogle cdnに再登録することもできますが、それを依存関係としてスクリプトに登録することをお勧めします。 最後のphp wp_head();を除いてあなたのコードは問題ないように思われます、phpは意味をなさない、そしてwp_head()呼び出しはテーマの中にあるべきです。