kanakogi / recaptcha-for-mw-wp-form

2 stars 5 forks source link

Undefined variable $is_reCAPTCHA error and missing reCAPTCHA icon on some forms #8

Open miracle777 opened 1 day ago

miracle777 commented 1 day ago

現在、フォームの一部で以下のエラーが表示されていますが、他のフォームではエラーが発生していません。また、reCAPTCHAのアイコンがフォームに表示されていないことを確認しました。 Currently, the following error appears on some forms, but other forms do not show any errors. Additionally, I noticed that the reCAPTCHA icon is not displayed on the forms.

Warning: Undefined variable $is_reCAPTCHA in /wp-content/plugins/recaptcha-for-mw-wp-form/classes/recaptcha-v3.php on line 101

スクリーンショット 2024-12-02 204500

この問題を解決する方法についてご教授いただけますと幸いです。 I would appreciate any guidance on how to resolve this issue.

miracle777 commented 1 day ago

追記です:

ウェブサイトの制作者から、reCAPTCHAのアイコンが意図的にCSSによって非表示に設定されていることを確認しました。この設定がエラーや現在の動作に影響を与える可能性について、ご意見をいただけると助かります。

よろしくお願いいたします。

Additional information:

The website developer has confirmed that the reCAPTCHA icon is intentionally hidden using CSS. I would appreciate any insights on whether this setting might be affecting the error or the current behavior.

Thank you for your help.

miracle777 commented 1 day ago

一応101行目付近を下記のコードで修正したら、エラーは消えました。 この方法で正しいか、ご確認をお願いします。

<table>
    <tr>
        <td>reCAPTCHA V3</td>
        <td>
            <?php
            // $is_reCAPTCHA を初期化
            $is_reCAPTCHA = false;
            // フォーム送信時に 'is_reCAPTCHA' の値を取得
            if (isset($_POST[MWF_Config::NAME]['validation'][$key][esc_attr($this->getName())]['is_reCAPTCHA'])) {
                $is_reCAPTCHA = $_POST[MWF_Config::NAME]['validation'][$key][esc_attr($this->getName())]['is_reCAPTCHA'];
            }
            ?>
            <input type="checkbox" value="1" name="<?php echo MWF_Config::NAME; ?>[validation][<?php echo $key; ?>][<?php echo esc_attr($this->getName()); ?>][is_reCAPTCHA]" <?php if ($is_reCAPTCHA) : ?>checked<?php endif; ?> />
        </td>
    </tr>
</table>