WordPressの組み込みjQueryを利用して一般のライブラリを使用する注意点

いやーハマった!WordPressのjQuery!!
WordPressの自作プラグインに、jQueryを利用したjavascriptやフリーで配布されているオブジェクトを組み込む場合は要注意です。
WordPressに組み込まれているAjax系のライブラリは、jQueryだけじゃなくPrototypeなど他のJavascriptライブラリも使われることを想定しているため通常のjQuery.js とは同じではなく、ほかのライブラリとの競合を防ぐ目的で、jQuery による$ 関数の上書きを元に戻す
1 | jQuery.noConflict() |
メソッドが、WordPressのjQuery.jsには最後にちゃっかり追加されていました。
このため、一般の$関数を用いて作成したJavascriptを読み込んでWordPressのプラグインや、add_action関数などで管理画面のheaderにフックしても全く動いてくれません。
何時間もかけてようやく原因がわかりました。。備忘録と。。
WordPressでjQueryを使う場合は、
$関数の「$」を「jQuery」に全部置き換える
ことで正常に動きました。。
「add_action(‘admin_print_scripts’, なんちゃら)」で簡単にWordPressにjavascriptを追加できる としかCodexには書いてない!
もっと目の届くところにこういうことは赤字でぶっとく書いておかないと。。
こんなことで半日を費やしてしまった!!
参考:
jQuery.noConflict()
WordPress の管理画面で jQuery を使用する場合の注意点
jQueryと他のライブラリを同時に使用する方法
この記事のトラックバックURL