白駒池(高見石)


Date/Time: 2014:01:06 07:01:58
Camera: RICOH
Model: GR DIGITAL 4
Exporsure Time: 1/200
FNumber: 3.2
Aperture Value: 3.3
Focal Length: 6.0

Close

y2blog » WordPress5.6へのアップデートは要注意!!!

12

20

2020

WordPress5.6へのアップデートは要注意!!!

WordPress5.6への安易なアップデートはとても危険


12月8日にWordPress5.6 がリリースされたが、WordPress5.6では JQuery 関係が大幅に仕様変更となっているので、JQueryに依存するテーマファイルやプラグインを利用している場合は、当面WordPress5.6へのアップデートを見送る方が良いだろう.


WordPress5.6ではデフォルトのJQueryバージョンが V1.12 ⇒ V3.5.1 に変更になっている.JQueryはバージョン毎に機能や仕様が異なり、今回のような一足飛びのバージョンアップではかなりソースコードを手直ししないと動作しなくなる.


私が運用している別なサイトでは自作の写真系のギャラリープラグインを使用しているが、このギャラリープラグインのベースとなっているギャラリーライブラリ “Galleria“ が、JQuery 1.x 系を用いており、ソースコードをかなり手直ししないとエラーとなって動作しなかった.


Plugin Module Execution Error
自作の写真ギャラリープラグインが動作しなくなってしまった

Error Inspection Dialog
Safariブラウザのデバッグ機能を使ってエラー発生箇所をチェックする

Load Method Error
JQueryのイベント関連のハンドラー “.load()” 部分でエラーが発生

JQueryのホームページの API Document [ Category: Deprecated 1.8 ]  から ”.load()” が使えなくなっている事が判明した.


今回の WordPress 5.6 では、JQueryのバージョンが一気にV3.5まで上がってしまったので、V1.8の時点で無効になった ”.load()” も影響を受けてしまった.”.load()” 以外にも、”.error()”、”.unload()” などもV1.8で無効になっているので、ソースコードの手直しは結構手間が掛かりそうだ.


とりあえずWordPress 5.6 のリリースに関するサポートページ “https://wordpress.org/support/wordpress-version/version-5-6/#jquery-update” を漁って回避策があるかどうか探ってみることにする.ソースコードを書き直すまでのつなぎで良いので、今回は先ず手っ取り早い解決策を採ることにする.


jQuery update



Updates to jQuery in WordPress take place across three releases 5.5, 5.6, and 5.7. As we reach the mid-point of this process, run the update test plugin to check your sites for errors ahead of time.
If you find issues with the way your site looks ( e.g. a slider doesn’t work, a button is stuck — that sort of thing), install the jQuery Migrate plugin.

WordPress5.6の検証環境に上記の “Enable jQuery Migrate Helper” プラグインを導入し、現在のWordPressのデフォルトの JQuery Version での互換性の問題がある箇所を探し出すことにする.



Enabling jQuery Migrate Helper
“Enable jQuery Migrate Helper” プラグインを導入してみる

Helper Diagnosis
互換性に問題がある部分を”Enable jQuery Migrate Helper” プラグインが見つけ出してくれる

とりあえず”Enable jQuery Migrate Helper” プラグインを稼働させておくと、WordPress5.6 (JQuery 3.5.1)環境下でも、JQueryの互換性に問題があるプラグインやテーマファイルでも一応動作するようになるようだ.


勿論、この”Enable jQuery Migrate Helper” プラグインは一時的な応急措置でしかないので、プラグインやテーマファイルの早急なアップデートが必要であることは言うまでも無い.


“Enable jQuery Migrate Helper” プラグインの中身を調べた訳ではないので、このプラグインが何をやっているのかは現時点では不明だ.たまたま私のプラグインがこのプラグインの導入によって動作しただけかもしれないので、他の環境でも動作するかどうかは全く分からない.


このプラグインを当てにして本番環境のWordPressをV5.6にアップデートする馬鹿は居ないいだろうが、JQuery 3.x への対応は慎重に行う必要があることは言うまでも無い.WordPressの対応にも疲れたので、そろそろ別な環境へ移行することを真剣に検討することにしよう.


Checking the JQuery Version
WordPress5.6環境下でもエラーが発生していない模様

It Works
とりあえずプラグインのソースコードを書き換えることなく WordPress5.6 環境下で動作することを確認