カスタムjQueryコードがWordPressに含まれている既存のjQueryで実行されていない理由は、おそらくWordPressのjQueryがnoconflictで設定されているためです。noconflictメソッドは、jQueryで使用されている「$」ショートカットを放棄します。これは、それに依存するコードを意味します。
$("p").hide();
... $はjQueryオブジェクトを表さないため、機能しません。このようにカスタムコードをラップしてみてください。これは、$オブジェクトを取り戻すための標準的な方法です(このページからの例)。
jQuery(function ($) {
/* You can safely use $ in this code block to reference jQuery */
$("p").hide();
});
これは、いくつかの異なるJavaScriptライブラリ$
が「ショートカット」変数(MooToolsなど)として使用され、サードパーティのWordPressプラグインとテーマに他のJavaScriptライブラリが含まれていることが多いためです。放棄$
して、実際に使用するオブジェクトを正確に指定することは、WordPressによって複数のライブラリが単一のページにロードされるときに競合を最小限に抑える方法です。
したがって、ここのヒント1wp_enqueue_script
に示すように、WordPressの標準バージョンのjQueryがテーマで利用できることを確認します(おそらくfunctions.phpで使用します) 。
function my_init() {
if (!is_admin()) {
wp_enqueue_script('jquery');
}
}
add_action('init', 'my_init');
...そして、上記の「map-jQuery-back-to- $」ラッピングメソッドを追加して独自の関数で使用することは、総合的な互換性のために最適です。jQueryを必要とする現在のほとんどのWordPressテーマとプラグインは、WordPressで出荷バージョンのjQueryを使用するように作成されており、おそらく同じことを行う必要があります。