ワイヤード・パンチ

サイトタイトル変えたい…。もうメカメカしいの関係なくなった…。

WordPress内蔵のjQueryのバージョンを自動的にアップデートしてくれる「jQuery Updater」について。

WordPressではとくに設定をすることなく、標準でjQueryが内蔵されているため、わざわざ外部から呼び出さなくてもjQueryが使用になっています。

しかし、その内蔵のjQueryのバージョンですが、2019年9月時点でいまだに1.12.4のまま。

1.X系はIE8との互換性を残しているバージョンですが、IE8までしか使えないWindowsXPはすでにサポート切れです。

また、IE自体も11を最後に、もうアップデートされることはなくなりました。

1.X系のアップデートも2016年で止まっているため、もはや使うべきではないバージョンと言えるでしょう。

よって、jQueryのバージョンを最新のものに差し替えたいのですが、通常の手段ではアップデートが来るたびに手間が発生してしまいます。

広告

内蔵のjQueryを停止して、外部のjQueryを呼び出す場合。

add_action("wp_enqueue_scripts", function() {
	wp_deregister_script("jquery");
	wp_enqueue_script("jquery", "https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js");
}

上記のようなコードを、使用中のテーマのfunctios.phpに記述すれば、内蔵のjqueryを停止して、外部のjqueryを代わりに使用することができます。

今回の場合は、Google Hosted Librariesに用意されているjQueryを読み込んでいます。

そのため、テーマの中にjQuery本体をコピーすることなく使用することができます。

ただ、この方法の場合だと、もしjQuery本体の最新版の配信が来た場合、URLをいちいち書き換える必要があります。

現時点での最新版は3.4.1ですが、もし3.4.2が来た場合、URL部分を書き換えて、functions.phpをアップロードし直さないといけません。

バージョン部分がないときに最新版を読み込む仕様になってくれたら、手間もないのですが…。

管理しているサイトが1つであれば、数分もかからずに済む作業だとは思いますが、多数のサイトを持っている場合、多大な手間が発生してしまいます。

最新版特有の機能はとくに使っていない…と言う場合でも、古いバージョンには脆弱性が紛れている恐れもあるので、やはり最新版を使うことが推奨されます。

jQuery Updaterを使えば解決。

WordPress内蔵のjQueryは1.X系だから古すぎる、かといって外部のjQueryにすると、アップデートのたびに差し替えが面倒。

そんな手間を解決してくれる「jQuery Updater」というプラグインがありました。

jQuery Updater

どのようなプラグインかと言うと、標準の1.X系のjQueryを無効化し、最新の3.X系のものに自動で差し替えてくれるというものです。

使い方は至って簡単。プラグインをインストールして、有効化する。ただ、それだけです。

有効化したあとは、とくに何も設定画面はありません。

実際に使用前後のソースコードを比較してみます。

私が所有している別のサイトでの例です。

まず、標準のjQueryが使われている状態です。

呼び出し先はもちろん自分のサーバからであり、バージョンは1.12.4です。

1.X系の中では最後のバージョンですが、1.X系自体が古すぎるので、もはや非推奨のバージョンです。

そしてこちらが、jQuery Updaterを有効にした状態のソースコードです。

自分のサーバから呼び出されていることには変わりありませんが、バージョンが3.4.1という、現時点での最新バージョンに差し替わりました。

1.12.4という番号は、どこにも見当たりません。

また、1.X系だったときは、すぐ下にmigrateというプラグインも読み込まれていたのですが、それは1.X系に特定の機能を追加するためのものです。

3.X系では不要なため、それも合わせて無効化されました。

どうやってjQueryがバージョンアップされる?

jQuery Updaterには何も設定項目がないので、もしjQueryのアップデートが来た場合、どのように最新版に差し替わるのか。

おそらくですが、そのときに合わせて、jQuery Updaterのアップデートが来て、jQuery Updater側のjQueryもアップデートされると思われます。

ソースコードをいちいち差し替えるより、画面上のワンボタンをクリックして更新する方が、圧倒的に楽ですよね。

もしマルチサイトで運用しているなら、マルチサイト内に存在する、プラグインを有効中のサイトすべてのjQueryが差し替わるので、さらに楽です。

肝心の更新頻度ですが、前回のアップデートはおよそ一ヶ月前となっていました。

Releases · Ramoonus/jquery-updater

更新履歴は存在していますが詳細がないので、その一ヶ月前の時点でjQueryを3.4.1に差し替えたのか、あるいはもっと前から差し替わっていたかはわかりません。

少なくとも、一ヶ月前に更新をしていることから、更新頻度には問題ないと言えます。

よって、jQueryを利用していて、jQueryアップデートのたびに差し替えが面倒だと感じている人ならば、もれなく導入するべきプラグインでしょう。

とにかく、IE8のみならず、IE自体への対応はもうやめましょう。1.X系は切り捨てて、3.X系に差し替えましょう。

どうでもいい余談。

「jQuery」って単語、非常にタイピングしにくいよね…。

Qキーが遠いし、Qだけ大文字だし…。

「ジェークエリ」って入力してから変換できるようにしようかな?