コンソールでscripts.jsのエラー出た時の対処法|Admin Bar Position版

Web
コンソールでscripts.jsのエラー出た時の対処法|Admin Bar Position版

この記事はWordPressで表示に問題ないものの、コンソールで「Uncaught ReferenceError: jQuery is not defined at scripts.js?ver=***」のエラーが出てる時の対処法について書いてます。

ピンポイントな内容ですが、プラグインのAdmin Bar Positionで2回ほど起こったので紹介します。




コンソールでscripts.jsのエラー出た時の対処法|Admin Bar Position版

コンソールでscripts.jsのエラー出た時の対処法|Admin Bar Position版

まず原因ですが、jQueryよりも先にAdmin Bar Positionが先に読み込まれている可能性が高いです。

具体的には、Admin Bar Positionのscripts.jsファイルはデフォルトではheader内で読み込まれるのですが、wp_enqueue_scriptsで意図的にjQueryをフッターで読み込ませているとかです。

コンソールのエラー「scripts.js?ver=***」をクリックして、上の画像のように「jQuery(function($) {...」のところでエラー

確認方法ですが、コンソールのエラー「scripts.js?ver=***」をクリックして、上の画像のように「jQuery(function($) {…」のところでエラーが起きてたらそれです。

具体的な対処法

上記でも記載してる通り、jQueryをheaderで読み込むようにすることです。

以下のように場合、jQueryをfooterで読み込むように指定している場合があります。

add_action('wp_enqueue_scripts', function () {
  wp_deregister_script('jquery');
  wp_enqueue_script('jquery', 'https://cdn.jsdelivr.net/npm/jquery@3.6.1/dist/jquery.min.js', array(), '', true); 
  wp_enqueue_script('js', get_template_directory_uri() . '/assets/js/app.min.js', array('jquery'), '', true);
});

この場合、以下のように、「true」を削除するか、「false」を入れればheaderで読み込まれます。

wp_enqueue_script('jquery', 'https://cdn.jsdelivr.net/npm/jquery@3.6.1/dist/jquery.min.js', array(), '',);
wp_enqueue_script('jquery', 'https://cdn.jsdelivr.net/npm/jquery@3.6.1/dist/jquery.min.js', array(), '', false);

なお、第一引数の「jquery」ですが、他のテキスト(jquery-2とか)を入れるとadmin-bar-positionの方が後読み込みになってしまいます。

あとがき

あとがき

新規でサイト作るときに、取り急ぎペタッと他で作成したサイトのコード持ってきたりすると、こういうところ気づかかなったりするんですよね。

最近はChatGPTもあるしこういうのってあんまり需要ないかなーと思いながらも、更新してます(汗

  • HOME
  • Web
  • コンソールでscripts.jsのエラー出た時の対処法|Admin Bar Position版