やわらかしかっけい

なんでもすぐに忘れてしまう自分のために

コンタクトフォーム7 + reCAPTCHA v3

WordPressのお問い合わせフォームにGoogle reCAPTCHA

reCAPTCHA v3はバックグラウンドで動くので、
ユーザーに絵合わせ(?)させたり、チェックを入れさせたりしなくて良いらしい。

reCAPTHCA登録

ログイン - Google アカウント

Googleログイン状態で、ここからドメインを登録する。

ContactForm7と連携

お問い合わせ > インテグレーション から、
サイトキーとシークレットキーを入力する。

おわり。
contactform7.com

お問い合わせページ以外で読み込まないようにする

このままでは、ドメイン以下全てのページの右下に、reCAPTHCAボタンが固定で表示されてしまう。

reCAPTCHAにお問い合わせページのURLだけを登録できればよいが、それは不可。

なので、お問い合わせページ以外ではreCAPTHCAを読み込まないように
functions.phpにこれを書く。

<?php
function load_recaptcha_js() {
 if ( ! is_page( 'contact' ) ) {
  wp_deregister_script( 'google-recaptcha' );
 }
}
add_action( 'wp_enqueue_scripts', 'load_recaptcha_js' );
?>

参考
mirai-creators.com