いつの間に!? ワードプレスのjQueryのスクリプトハンドル名が「jquery」から「jquery-core」になっていた!

ええ、全然気づいていませんでした。

最近プラグインの非同期機能を久々にテストしてみたら、JavaScriptエラーが大量に出現してびっくり仰天! 通常はテストの方が多いから、結構機能を外しているんですよ。

随分前に変更されていたらごめんなさい。

で、その全ての原因が「jQueryが定義されていません」という内容で、「なんじゃこりゃ?」となってわけです。

スクリプトハンドルというのは、ワードプレスでJavaScriptファイルを出力する時に、読み込むファイルに与えるIDのことで、出力するHTMLのscriptタグを編集できるなど、管理しやすいようになっているんですよ。

で、今まで僕の知っている限り、ワードプレスが用意しているjQueryファイルのハンドルは「jquery」だったんですが、これがいつの間にか「jquery-core」となっていたんです。ちなみに僕の現在のワードプレスのバージョンは4.7.2です。

スクリプトを非同期ロードする方法って以前にも紹介して、僕も昔他のページで学んだことだったんで、僕以外にも恐らく被害が出ている人もいるんじゃないかと。ページスピードインサイトとかでテストすると「非同期にしたら?」と改善案が出ますからね。

じゃこれが何故エラーの問題に繋がるのかというと、例えば僕の浸かっている非同期ロード方法は「ワードプレスのスクリプトが出力される前にフィルターを通してタグを編集する」という方法を採っているのですが、条件に「ハンドルが〇〇の時」としていたので、予め用意していた条件に合致しなくなり、依存すべきjqueryファイルも非同期で読まれるために一気にエラーが噴出したんですよ。

で、非同期対象から外す条件としては、今後はハンドルを「strpos」などの関数で「jquery」を探して無ければ、非同期ロードをするような処理に変更する必要がある気がします。また、変更されると困りますが、「jquery」を使っている以上は流石にハンドルに「jquery」の文字は使うだろうと予想できますから。

また、ちゃんと対策できて忘れてなかったら、ブログに書こうと思います。

僕もこれから対応できるようにアップデートします。

めんどー。

1件のピン

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください