[Contact Form 7] Recaptcha.jsをお問い合わせページ以外ではロードしないように設定する方法。

Genx Beats [ゲンクスビーツ]のアバター

Contact Form 7を使ってお問い合わせフォームを作っている。スパムを防止するためにRecaptchaをつけているが、そのせいでPagespeed InsightsなどでRecaptcha.jsがいつも「使用していない JavaScript の削減」か「レンダリングを妨げるリソースの除外」に出てきていた。そのため、Recaptcha.jsがお問い合わせページ以外でロードしないようにする方法を調べて、実装した。以下のコードfunctions.phpに入れてみて。

function block_recaptcha_badge() {
 if ( !is_page( array( 'contact-me' ) ) ) {
 wp_dequeue_script( 'google-recaptcha' );
 wp_deregister_script( 'google-recaptcha' );
 add_filter( 'wpcf7_load_js', '__return_false' );
 add_filter( 'wpcf7_load_css', '__return_false' );
 }
}
add_action( 'wp_print_scripts', 'block_recaptcha_badge' );

もし、コンタクトフォームページが複数ある場合は、array( ‘contact-me’の部分を増やしていけば良い。

array( ‘contact-me’, ‘contact-me-2’, ‘contact-me-3’といった感じで。


コメント

コメントを残す

Only people in my network can comment.