ご注意!

この記事には PHP コードが含まれており、開発者を対象としています。このコードは便宜上提供していますが、コードのカスタマイズやサードパーティの開発についてはサポートを提供していません。

追加のガイダンスについては、WPBeginner の カスタムコードの追加方法に関するチュートリアル を参照してください。

閉じる

自動テストのために reCAPTCHA を無効にする方法

ウェブサイトで自動テストを実行していますか? reCAPTCHAが有効になっている場合、自動テストはCAPTCHAチャレンジを解決できないため失敗します。

このガイドでは、自動テストセッション中にreCAPTCHAを一時的に無効にする方法を説明します。

reCAPTCHAを無効にする

このコードスニペットをサイトに追加する必要があります。サイトへのスニペットの追加にヘルプが必要な場合は、このチュートリアルを参照してください

このコード:

  • 8行目: フォームでのreCAPTCHAの読み込みを防ぎます
  • 11行目: フォーム送信の処理時にCAPTCHA検証をバイパスします

ログインユーザー向けの選択的無効化

ログインユーザーのみにreCAPTCHAを無効にしたい場合(公開送信の保護を維持しながらテストに便利)、この代替コードを使用してください:

/**
 * Disable CAPTCHA for all logged-in users
 *
 * @link   https://wpforms.com/developers/how-to-disable-recaptcha-for-automated-testing/
 */
 
// Skip CAPTCHA for logged in users only.
add_action( 'plugins_loaded', static function() {
 
    // Check if the current visitor is a logged in user.
    if ( is_user_logged_in() ) {
 
        add_filter( 'wpforms_process_bypass_captcha', '__return_true' );
        add_filter( 'wpforms_frontend_recaptcha_disable', '__return_true' );
        remove_action( 'wpforms_frontend_output', [ wpforms()->get( 'frontend' ), 'recaptcha' ], 20 );
    }
 
}, 11 );

Cloudflare Turnstileを無効にする

このコードスニペットをサイトに追加する必要があります。サイトへのスニペットの追加にヘルプが必要な場合は、このチュートリアルを参照してください

このコードは、フォームデータの設定でCAPTCHAをオフにし、Cloudflare Turnstileがフォームで初期化されないようにします。

これで完了です! 次に、reCAPTCHAのテーマも変更しますか? Google Checkbox v2 reCAPTCHAのCAPTCHAテーマを変更するの記事をご覧ください。