reCAPTCHA v3をお問い合わせフォームだけに表示する方法

WordPressのプラグインContactForm7でスパム対策のためreCAPTCHA v3の設定をすると、全てのページの右下辺りにロゴが表示されるので結構邪魔ですよね。。

reCAPTCHA V3

ちなみにこのロゴは勝手に消すと規約違反になるのでdisplay:none;などで非表示にはしない方がいいそうです。そこで全てのページではなくreCAPTCHA v3を利用しているページにだけ設定する方法をご紹介します。

目次

reCAPTCHAを指定ページにのみ設定する方法

今回、お問い合わせフォームページ「https://○○○.com/contact」に設定してみます。

functions.phpにコード追加

WordPressのfunctions.phpに以下コードを追加します。

固定ページの場合

固定ページの場合、is_page()contactを指定します。

add_action( 'wp_enqueue_scripts', function() {
  if(is_page('contact')) return;
    wp_deregister_script( 'google-recaptcha' );
}, 100);

全部のページで表示されるようになっていたので、フック処理の優先順位を「100」に設定を追加しました!

投稿ページの場合

投稿ページの場合、is_single()contactを指定します。

add_action( 'wp_enqueue_scripts', function() {
  if(is_single('contact')) return;
    wp_deregister_script( 'google-recaptcha' );
}, 100);

複数ページ指定の場合

add_action( 'wp_enqueue_scripts', function() {
  if(is_page('contact')) return;
  if(is_page('contact2')) return;
    wp_deregister_script( 'google-recaptcha' );
}, 100);

これで余計なページにロゴが入らなくなると思います。

あわせて読みたい
スパム対策 reCAPTCHA v3 をContactForm7に設定してみた WordPressのContact Form 7でGoogleのreCAPTCHA V2 が表示されなくなっていたので、今回新しいreCAPTCHA V3を設定してみました。V2は「私はロボットではありません」や...
  • URLをコピーしました!
目次