自動テストのために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 );

以上です!次に、reCAPTCHAのテーマも変更したいですか?Google Checkbox v2 reCAPTCHAのCAPTCHAテーマの変更に関する記事をご覧ください。