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

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

reCAPTCHA V3

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

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

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

functions.phpにコード追加

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

固定ページの場合

固定ページの場合、is_pagecontactを指定します。

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

投稿ページの場合

投稿ページの場合、is_singlecontactを指定します。

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

複数ページ指定の場合

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

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

スパム対策 reCAPTCHA v3 をContactForm7に設定してみた
スパム対策 reCAPTCHA v3 をContactForm7に設定してみた

関連記事