WordPress【Enable jQuery Migrate Helper】での警告表示の応急対応「'ready' event is deprecated」

WordPressの豆知識

こんにちは、クリエイターのSHOJIです。
今回も、WorPressに関する興味深い問い合わせをいただきましたのでご紹介させていただきます。

2020年8月11日にリリースされた「 WordPress 5.5 」にてjQuery migrate(jQueryのバージョン差異によって発生する問題を解決する為のプログラム)が含まれなくなったことから、古いプラグインやテーマを中心に不具合が発生し、正しく動作しないなどの報告が飛び交ってます。

その中でも特に多いのが、「編集ができない・エディターの切り替えができない・カテゴリー選択ができない」等といったクラシックエディターのプラグインに対するものです。

上記の問題を解決するために「Enable jQuery Migrate Helper」という補完プラグインが公式からリリースされているので、これを使って対応されている方も多いことと思います。

この Enable jQuery Migrate Helper をインストールして有効化すると、例えば、使えなくなった記述などがある場合に、ブラウザの検証ツールコンソールに jQuery Migrate の警告が表示されるようになります。

知人の問い合わせでもこれに漏れずでしたが、今回は「Responsive Lightbox & Gallery」というプラグインの利用においてjQuery Migrateの警告が表示されたようです。

 

WordPress【Enable jQuery Migrate Helper】での警告表示の応急対応「'ready' event is deprecated」

【jQuery Migrate Helper ? Warnings encountered】
https://hogehoge.com/wp-content/plugins/responsive-lightbox/js/admin-media.js: 'ready' event is deprecated

プラグインファイル「admin-media.js」と「admin-gallery.js」の中で、『非推奨である "ready" イベントの記述がありますよ!』と警告表示されています。

 

WordPress【Enable jQuery Migrate Helper】での警告表示の応急対応「'ready' event is deprecated」参照:Responsive Lightbox & Gallery

Responsive Lightbox & Gallery プラグインの公式サイトを確認すると、2020年9月21日現在ではバージョン5.5には対応されていないことが分かります。

開発者にエラー報告を行い、正式に対応された最新バージョンが公開されるまで待つのがベター(WordPressの最新バージョンに対応していないプラグインは利用しないのがベスト)ですが、「利用されているクライアント様が警告表示に慌てている」ことを聞いてしまうと、何らかの応急対応も必要かと思いお伝えしたのが下記内容です。

あくまで応急対応なので、自己責任にて対応のできる方のみ実際の作業を行ってください。

 

WordPress【Enable jQuery Migrate Helper】での警告表示の応急対応「'ready' event is deprecated」

先にも述べたように、「admin-media.js」と「admin-gallery.js」内で、非推奨である『 "ready" イベント』の記述がされていることによる警告表示なので、ファイル内のそれぞれ該当する箇所を直接書き換えることで応急対応を行いました。

「admin-media.js」 ・・・3行目辺り
$( document ).on( 'ready', function() → $( function()

「admin-gallery.js」・・・285行目辺り
$( document ).on( 'ready', function() → $( function()

今回のプラグインファイルでは『 $( document ).on( 'ready', function() 』という構文が非推奨だったのですが、jQuery 3.0からは『"ready"イベント』そのものが削除されたため、『 $( document ).ready( function() 』という構文も非推奨となりました。このことから、どちらのファイルの該当箇所も jQuery 3.0 からの推奨記述『 $( function() 』と書き換えたわけです。

該当ファイルに関しては、ご利用中のサーバー内[plugins]→[responsive-lightbox]→[js]のディレクトリに保存されているかと思いますので、書き換えを行う場合は必ずバックアップを行うなどして作業することをお勧めします。

ただし、何度も言うようですが「あくまで応急対応」ですので、古い記述が残っていたり、最新のバージョンへ対応がされていないようなプラグインの利用は本来避けるべきものですので、ご理解よろしくお願いします。

 

最後に

今回のWordPressメジャーアップデートによる不具合が、私の周りでもかなり耳に入ってきます。そしてもれなく「WordPressのアップデートのせいで」と文句を言っているのですが、一番の原因は「WordPressのアップデート」ではなくて「古い記述のままのプラグインを利用している」ことです。ここを履き違えると本質を見落としてしまうので注意が必要です。

セキュリティーの観点からすると最新版が最も安全なので、「WordPressのアップデートのせい」だからといってバージョンをダウングレードする対応は避けたいところ。このことはプラグインも同じことが言えます。

・WordPress、プラグインのバージョンは可能な限り最新に更新する
・バージョンアップをいきなりせず、テスト環境にて動作検証したうえで行う
・日々のバックアップとともに、メジャーアップデート前にも必ずバックアップをとる
・WordPressの最新バージョンに対応していないプラグインは利用しない

上記内容に関して行えていない場合は、この機会にぜひ必須にされることをお勧めします。

Webの豆知識」の関連記事

インフォコネクトに
相談してみませんか?

経営コンサルティングやITサービス活用支援、ホームページ制作などに関するご依頼や、ご質問・ご相談など、なんでもお気軽にお問い合わせください。