WordPressデフォルトのjQueryの代わりに、CDNからjQueryを読み込ませる方法
WordPressはデフォルトでは、WordPress本体に同梱されているjQueryを自動的に読み込むようになっています。WordPressに同梱に同梱されているjQueryを利用しても問題はありませんが、代わりに別のjQueryを読み込ませることもできます。
例えばCDNから配信する形にすればWebサイトの負荷を下げることが可能です。
実装方法
デフォルトのjQueryの読み込みを無効化する
functions.phpに以下のコードを記述すると、デフォルトのjQueryが無効化され読み込まなくなります。
function enqueue_my_jquery() {
wp_deregister_script( 'jquery' ); // デフォルトのjQueryを解除
}
add_action('wp_enqueue_scripts' , 'enqueue_my_jquery' );
wp_deregister_script()は予め登録されているスクリプトのフックを解除するWordPressの関数です。
CDNからjQueryを取得する
デフォルトのjQueryの代わりにCDNが配信しているjQueryを読み込ませるには、functions.phpに下記の通り記述します。
function enqueue_my_jquery() {
wp_deregister_script( 'jquery' ); // デフォルトのjQueryを解除
wp_register_script( 'jquery' , 'https://cdn.jsdelivr.net/combine/npm/jquery@3.6.0' , array() , false , false); //CDNのjQueryを登録
wp_enqueue_script( 'jquery' ); //登録したjQueryをエンキュー
}
add_action('wp_enqueue_scripts' , 'enqueue_my_jquery' );
wp_deregister_script()で’jquery’を指定することでデフォルトのjQueryの読み込みが無効化されます。
次にwp_register_script()を使ってスクリプトのフックを登録します。
wp_register_script()は少なくとも第1引数の識別名と第2引数のJavaScriptファイルへのパスが必要になります。
今回は第1引数は無効にしたデフォルトのjQueryと同じ「jquery」にします。
第2引数はjQueryの取得先のCDNのURLを入力します。
wp_register_script()で登録したjQueryをwp_enqueue_script()でそれをエンキューすることで、CDNのjQueryをフロントで読み込ませることができます。
なおjQuery無しでWordPressサイトを構築することも可能ですが、プラグインの中にはjQueryが必須なもの存在するため、必ず読み込むようにすることを推奨します。