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

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’と。

以上、備忘録でした。

アバター画像

1982年生まれ、ヒップホップやラップビートの制作、及びアーティストのプロデュースやコンサルティングをしているビートメイカー兼音楽プロデューサーです。音楽活動と個人ブログを介して、スモールビジネスのウェブ上でのマーケティング戦略を研究しています。インターナショナル育ちのため、英語が分かります。趣味は筋トレ、写真加工、WordPressカスタマイズ、K-Pop、web3、NFT。韓国が大好き。

Genxをフォローする
ブログ日記
スポンサーリンク