[WordPress] jQuery Migrate プラグインを読み込まないようにする方法

[WordPress] jQuery Migrate プラグインを読み込まないようにする方法

いつの間にか WordPress 本体の jQuery を読み込んだら自動的に jQuery Migrate プラグインも一緒に読み込むようになっていました。jQuery Migrate プラグインのみを外す場面はあまりないかもしれませんが、せっかくプラグインのみ外す方法を調べたのでメモです。

head内 jQuery Migrate プラグイン読み込み部分

jQuery Migrate プラグインとは

jQuery はバージョン 1.9 がリリースされた時に、機能が重複したAPIなどが廃止されたり、挙動が変更されたりしました。jQuery Migrate プラグイン(jquery/jquery-migrate · GitHub)はその廃止になった機能を補うことができるプラグインです。

jQuery Migrate プラグインを入れると、1.9 以上のjQueryで廃止されたAPIを使ったコードが動くようになります。(WordPress 3.8.1 に入っていたのは jQuery Migrate v1.2.1 でした。)

変更になったメソッドなどはこちら「jQuery Core 1.9 Upgrade Guide | jQuery」で確認できます。日本語のページだとこちらのページ「jQuery 1.9 で変わったところを調べてみる。 | バシャログ。」がわかりやすいです。

jQuery Migrate プラグインだけ外す方法

wp_default_scripts フィルターフックを使って WordPress がデフォルトで読むスクリプトを加工します。以下のコードを functions.php へ記入して完了です。

add_filter( 'wp_default_scripts', 'dequeue_jquery_migrate' );
function dequeue_jquery_migrate( $scripts){
	if(!is_admin()){	
		$scripts->remove( 'jquery');
		$scripts->add( 'jquery', false, array( 'jquery-core' ), '1.10.2' );
	}
}

jQuery が呼ばれた時に以下のように「jquery-core」(jQuery本体)と「jquery-migrate」が読み込まれるようになっているので、いったんデフォルトスクリプトから外して、オブジェクトを「jquery-core」のみ読むように定義しなおします。
jQuery読み込み時のdeps変数中身
これで、自動的に読み込まれていた jQuery Migrate プラグインが読み込まれなくなりました。
head内 jQuery Migrate プラグイン読み込んでいた箇所

注意点

廃止になったAPIを使用していないコードのみ使っていて、余計なものを読み込みたくない時には jQuery Migrate プラグイン だけ外すのもいいと思いますが、WPプラグインでも jQuery を使っている場合があるので気を付けなくてはと思います。

読み込むファイルを減らしたいだけなら、いっそ WordPress 本体のプラグインを読まずに自分で用意した 1.8 系の jQuery 本体を読み込んでもよいかもしれませんね。

Related Article

No Comments & Tracbacks

Leave a Comment

Emailは公開されません。*は必須項目です。


*


Categorys

Tags

CSS3 ダッシュボード ヘッダー トラブル コードサンプル スライドショー コンテンツ 素材 jQueryプラグイン Facebook php 引っ越し お知らせ JavaScript CSS カテゴリー Shareボタン IE 投稿タイプ seo Photoshop HTML5 レスポンシブ サイドバー ナビゲーション タクソノミー WPセキュリティ Git カスタムメニュー Macアプリ PHPリファレンス SVG query_posts API WP使い方 iTunes データベース コメント function RSS 条件分岐 get_posts() スマートフォン Sass/Compass マルチサイト機能