Contact Form 7を利用すると、全てのページにContact Form 7が利用するJavaScriptやCSSがロードされます。
Contact Form 7を使って無いページにまで関連するJavaScriptやCSSを使うのは、速度低下にも繋がるので避けたいところ。
関連するJavaScriptやCSSのロードを実際にContact Form 7を使用しているページのみ限定にします。
Contact Form 7が5.4にアップデート後に仕様が変更されましたので、それまでの記述方法が無効となりました。
最新の5.4以降と旧バージョンの5.3.2以前と両方の記述方法を載せておきます。
下記コード例は、Contact Form 7を利用しているページが固定ページで、スラッグが『inquiry』の場合です。
環境に合わせてお使いのテーマのfunctions.phpなどに追加します。
※スラッグとはパーマリングで変更出来るページのURLです※
5.4~
add_action( 'wp_enqueue_scripts', function() {
if( !is_page('inquiry') ){
wp_dequeue_style( 'contact-form-7' );
}
});
add_action( 'wp_footer', function() {
if( !is_page('inquiry') ){
wp_deregister_script( 'contact-form-7' );
wp_deregister_script( 'google-recaptcha' );
}
});
5.3.2以前
add_action( 'wp_enqueue_scripts', function() {
if( !is_page('inquiry') ){
wp_dequeue_style( 'contact-form-7' );
wp_deregister_script( 'contact-form-7' );
wp_deregister_script( 'google-recaptcha' );
}
});
上記コードでContact Form 7が利用するGoogleのreCAPTCHAも同時に止められます。
複数のページで使用している場合は下記の様なコードになります。
5.4~
add_action( 'wp_enqueue_scripts', function() {
if( !is_page( array( 'inquiry','inquiry2','inquiry3','inquiry4' ) ) ){
wp_dequeue_style( 'contact-form-7' );
}
});
add_action( 'wp_footer', function() {
if( !is_page( array( 'inquiry','inquiry2','inquiry3','inquiry4' ) ) ){
wp_deregister_script( 'contact-form-7' );
wp_deregister_script( 'google-recaptcha' );
}
});
5.3.2以前
add_action( 'wp_enqueue_scripts', function() {
if( !is_page( array( 'inquiry','inquiry2','inquiry3','inquiry4' ) ) ){
wp_dequeue_style( 'contact-form-7' );
wp_deregister_script( 'contact-form-7' );
wp_deregister_script( 'google-recaptcha' );
}
});
‘inquiry’,’inquiry2′,’inquiry3′,’inquiry4’の部分をお使いの環境に合わせて変更してください。