我一直认为Google reCAPTCHA是最好的表单验证插件,没有之一。
Gravity Forms作为WordPress界最强的表单插件之一,也提供了免费的表单验证功能,它接入的也是Google reCAPTCHA,可惜国内用户是无法直接使用的。因为谷歌API在原有域名下均已被阻断,但是部分有用的服务比如验证码、字体等,其实是有其他备用域名可以使用的,而Gravity Forms似乎并不太关心我们国内用户,所以就没有提供采用备用域名接口的选项,需要自己手动调整。
在主题的function.php里加入以下代码,替换Gravity Forms原本的谷歌验证码API调用就行了:
//gravity forms google recaptcha
function brain1981_replace_google_recaptcha_script() {
if(wp_script_is('gform_recaptcha')){
wp_deregister_script( 'gform_recaptcha' );
wp_enqueue_script( 'gform_recaptcha', 'https://www.recaptcha.net/recaptcha/api.js?hl=zh-hans&render=explicit', array(), false, true );
}
}
add_action( 'wp_footer', 'brain1981_replace_google_recaptcha_script', 5 );
add_action( 'gform_preview_footer', 'brain1981_replace_google_recaptcha_script');
如果要接入英文版,只要把调用的js地址后面hl参数改成en就行了。
真心希望这些备用域名能够生存得久一些吧。