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が必須なもの存在するため、必ず読み込むようにすることを推奨します。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です




アーカイブ

カテゴリ