0
验证我正在使用的functions.php下面的代码来验证表单提交与谷歌的验证码WooCommerce用户登记表与谷歌的验证码
function adv_validate_re_captcha_field($username, $email, $wpErrors)
{
$remoteIP = $_SERVER['REMOTE_ADDR'];
$recaptchaResponse = $_POST['g-recaptcha-response'];
$response = wp_remote_post('https://www.google.com/recaptcha/api/siteverify', [
'body' => [
'secret' => '#####################',
'response' => $recaptchaResponse,
'remoteip' => $remoteIP
]
]);
$response_code = wp_remote_retrieve_response_code($response);
$response_body = wp_remote_retrieve_body($response);
if ($response_code == 200)
{
$result = json_decode($response_body, true);
if (! $result['success'])
{
$wpErrors->add('recaptcha', __('Error message', 'woocommerce'));
}
}
}
add_action('woocommerce_register_post', 'adv_validate_re_captcha_field', 10, 3);
它工作得很好。问题是我只想在显示表单的页面之一上验证表单。例如,它被用在哪里的ReCaptcha显示与下面的代码woocommerce /我的帐户/形式的login.php:
<script src='https://www.google.com/recaptcha/api.js'></script>
<div class="g-recaptcha" data-sitekey="###"></div>
我不想验证任何其他网页上的表格。