Contact Form 7は全世界のWordPressユーザーから圧倒的に支持されているプラグインですが、有効化するとすべてのページでContact Form 7用の JavaScriptと CSSファイルが読み込まれることになります。
ただ、多くのサイトにおいてContact Form 7はお問合せページだけで使われており、それ以外のページで読み込ませると不必要なhttpリクエストを発生させることになります。
スマホからのアクセスが50%を超えるサイトが多くなった現在、そのような無駄なhttpリクエストは表示速度の低下につながります。
それを改善するための方法が下記になります。
contact form 7を不必要なページで読み込みしないためのコード
functions.phpに、下記のコードを追記します。
//for contact-form-7 load function my_contact_enqueue_scripts(){ wp_deregister_script('contact-form-7'); wp_deregister_style('contact-form-7'); if (is_page('contact')) { if ( function_exists( 'wpcf7_enqueue_scripts' ) ) { wpcf7_enqueue_scripts(); } if ( function_exists( 'wpcf7_enqueue_styles' ) ) { wpcf7_enqueue_styles(); } } } add_action( 'wp_enqueue_scripts', 'my_contact_enqueue_scripts');
上記コードの内容
意味としては、
1.「contact」というスラッグのページ以外はContact Form 7のJavaScriptと CSSファイルを読み込ませない。
2.なおかつ、wpcf7_enqueue_scripts とwpcf7_enqueue_styles が有効化されている場合のみ(つまりContact Form 7有効化されている場合)、読み込みを実行する
ということになります。
上記コードを使ううえでの注意点
Contact Form 7を正常に使うためには、お問合せ等のページに必ず「contact」というスラッグをつけることに注意してください。
もし「contact」というスラッグを使用していない場合は、上記のコード中の「is_page(‘contact’)」という部分の「contact」という引数を、現在使用中のスラッグに変更してやればいいです。