wordpressでサイトを構築中、jQueryを使ったコードを書き込むことがよくあるかと思います。
でも、動かない・・・。
ネットで「このコードをコピペしたら動くよ」っていうのを参考にきちんとやっているはずなのに。
でも、動かない・・・。
そんな時は、ブラウザ「Google Chrome」さんの「javascriptコンソール」でエラーのチェックをしてみてください。もしコンソールの結果に
Uncaught TypeError: Property ‘$’ of object [object DOMWindow] is not a function
的なエラーが表示されたら、それは「$の別名定義」が原因です。
wordpressでは、jQueryと他のjavascriptがコンフリクトしないように、jQueryが使用する「$」っっていう別名定義をキャンセルしているようです。なので「$」を使って書かれたコードが効かなくなるのです。
解決策としては、以下の2つの方法があるかと思います。どちらでもお好きな方で対応してください。
1.コード中の「$」をすべて「jQuery」に書き換える
とりあえず、「$」は定義されていないので、コピペしたコードの「$」部分を、本来jQueryが使っている「jQuery」に書き換えてあげれば動きます。エディタの置き換え機能などを使えば一発でいくはず。
2.「$」を再定義する
コピペしたjavascriptの処理をすべて以下のコードで囲ってしまう
jQuery(document).ready(function($){ // ここにコピペしたjQueryの処理 });
これだけで、別名定義を起因とするエラーは解決されます。