【WordPress】あるあるなエラー jQuery is not defined

エラーの出るWordPressを修正したお話

WordPressに限らずよく目にするエラー。

jQuery is not defined

jQueryが定義されていません

原因は様々でテーマやプラグインが絡むと頭が痛くなるエラーでございます。

スポンサーリンク

jQuery is not defined

要はjQueryのコアファイルが読み込まれていないのにスクリプトを動かそうとするとエラーになってしまうっていう。

<script>
$(function(){
  ...
  ...
  ...
});
</script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js?ver=1.12.4"></script>

スクリプトより先に読み込めば普通は解決する。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js?ver=1.12.4"></script>
<script>
$(function(){
  ...
  ...
  ...
});
</script>

先に読み込んでいるのにエラーが出る場合がありました。

<script defer src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js?ver=1.12.4"></script>
<script>
$(function(){
  ...
  ...
  ...
});
</script>

defer属性

defer属性 ≪ script要素 ≪ スクリプト記述 ≪ 要素 ≪ HTML5入門
HTML5のscript要素のdefer属性の解説。

defer 属性はブラウザにスクリプトを待たないよう指示します。
代わりに、ブラウザは HTML の処理を継続し、DOM を構築します。
スクリプトは “バックグラウンド” でロードされ、DOM が完全に構築されたときに実行されます。

この属性がついているとスクリプトより後に読み込まれるため「jQuery is not defined」エラーが発生します。

使う場面が限られてくると思いますが一括で属性指定してたのでハマってしまいました。

コメント

タイトルとURLをコピーしました