WordPressでは互換性確保のため自動的にjQuery Migrateが読み込まれるようになっています。しかし、使わないものはなるべく読み込みたくありません。この記事ではjQuery Migrateを読み込まなくする方法をご紹介します。
jQuery Migrate とは?
一応簡単に説明しておくと、jQuery Migrate というのは新しいバージョンのjQuery(1.9以降)から廃止されたり挙動が変わった関数やAPIを使えるようにするプラグインです。古いjQueryで書かれたコードを動かすときに必要になります。古いコードを動かす必要がないなら不要です。
WordPressの場合、久しくメンテナンスされていない古いプラグインやテーマを使う場合は要注意ということになります。この記事の方法で実際にjQuery Migrate を外して問題がないかはしっかり確認しましょう。
ちなみに、違いの詳細は次の記事がわかりやすくまとまっています。
jQuery 1.9 で変わったところを調べてみる。 | バシャログ。
jQuery Migrate の外し方
wp_default_srcpits
フィルターを使うことでWordPressが読み込むスクリプトをコントロールすることができます。コードは以下のようになります。
function my_dequeue_jquery_migrate( $scripts ) {
if ( ! is_admin() ) {
$scripts->remove( 'jquery' );
$scripts->add( 'jquery', false, array( 'jquery-core' ), '1.12.4' );
}
}
add_filter( 'wp_default_scripts', 'my_dequeue_jquery_migrate' );
デフォルトでは“jQuery”というハンドル名を指定すると、jquery-core
(jQuery本体)とjquery-migrate
の2つが読み込まれるようになっています。
ですので、一度“jQuery”のハンドル名を削除して、再び同じ名前でjquery-core
だけを読み込むようハンドル名を定義し直しています。
登録時のバージョン番号については、WordPress5.4では1.12.4でしたが、今後変わるかもしれませんのでチェックは必要です。
あと、管理画面では速度を気にする必要はなく不要なトラブルも避けたいのでif ( ! is_admin() )
で対象外としています。
注意点など
先ほども書きましたが、WordPressのプラグインやテーマの中には古いコードを使用している可能性もありますので、このコードを追加したら必ず動作チェックはしておきましょう。問題がでた場合にその原因を調べる方法は次の記事に詳しく紹介されています。
jQuery Migrate pluginを使ってみる。 | バシャログ。
ここまで書いて何ですが、読み込むファイル数を減らしたいだけなら、CDN版のjQueryに変えてしまうという手もあります。ただ、その場合はWordPressの同梱版に対応して書いていたコードだと問題がでることもあり注意が必要です。そのあたりは少し古い記事ですが次の記事を読むとよく理解できます。
WordPressでjQueryを使うときに、問題なく動作させる為の基礎知識やTipsと、動かない場合の対処例 | かちびと.net
コメント
この記事へのコメントはありません。