Google php 网站上的不可见验证码 <input type="submit">

Google invisible captcha on a php website with <input type="submit">

我目前正在使用 Google 的普通 noCaptcha reCaptcha 和 WordPress 插件 "Password protected",它工作正常。还有一些访问者对他们必须单击 "I am no robot" 感到困惑。我的站点密钥已被 Google 列入他们新的不可见 reCaptcha 列表。

我在提交按钮中添加了必要的参数:

<input type="submit" name="wp-submit" id="wp-submit" class="button button-primary button-large g-recaptcha" data-sitekey="mySiteKey" data-callback="" data-badge="inline" value="<?php esc_attr_e( 'Log In', 'password-protected' ); ?>" tabindex="100" />

并通过以下方式验证响应:

if ( ( $this->encrypt_password( $password_protected_pwd ) == $pwd && $pwd != '' && isset($_POST['g-recaptcha-response']) && $_POST['g-recaptcha-response'] ) || apply_filters( 'password_protected_process_login', false, $password_protected_pwd ) ) {

显示了验证码本身,但在正确解决验证码后,什么也没有发生。好像我从来没有提交过按钮或者recaptcha中的回调函数没有正确回答

那么,我做错了什么?或者我必须在代码中更改什么?

必须设置回调函数,否则表单无法提交

有关详细信息,请参阅此答案。