【JavaScript】WordPressでjQueryが動かない理由3点とその対処法
- WordPressでjQueryを使おうとしたけど動かない。
- jQueryの記述は間違っていないはずなのに読み込まれない。
目次
WordPressでjQueryが動かない理由とその対処法
WordPressでjQueryが動かない理由は大抵3つに絞ることが出来ます。- WordPressのjQueryは$が記述できない
- JavaScriptの記述ファイル自体がリンク先に存在しない
- jQueryの読み込みタイミングが他の要素の読み込みタイミングと合致していない
1.WordPressのjQueryは$が記述できない
WordPressのテーマによっては標準のjQueryをWordPressの機能を使って読み込んでおり、その際に$が使えなくなるためです。 以下に動かないコードの一例を示します。$(window).load(function () { $('#topImg').height(); });このコードは標準でWordPressに搭載されているjQueryでは動作しません。 jQueryにはnoConflictという関数が用意されており、この関数は複数のjQueryを読み込んだ際に不具合が起きないようにするためのもので、 WordPressの標準装備のjQueryではこの関数が有効になっているため、$はjQueryの関数として認識されないのです。 簡潔に記述するためにこの記事では関数の仕組みまでは触れませんが、jQuery本家(英語)の参考URLを貼っておきますのでご参照下さい。
解決策
どうすればよいのかと言うと「$」を「jQuery」に置き換えるだけです。jQuery(window).load(function () { jQuery('#topImg').height(); });このようにすれば動くようになります。