正文:
在WordPress调用验证码时,最简洁且可维护的做法是先在functions.php中注册验证码服务,再通过钩子将前端输入框与后端验证逻辑绑定。以Google reCAPTCHA v3为例:先申请站点密钥与密钥,再用wp_enqueue_scripts加载其JS;随后在评论、登录或自定义表单插入div class="g-recaptcha"并设置data-sitekey;最后于wp_ajax或init钩子内用wp_remote_post向Google验证token,验证失败即wp_die。此流程无需改动核心文件,完全通过钩子与模板标签完成,升级主题或插件不丢失配置。
教程式解答:
申请密钥:访问Google reCAPTCHA后台,新建站点,选择v3,记录Site Key与Secret Key。
插入前端:在需要验证的表单内添加
后端验证:
add_action('wp_ajax_nopriv_verify_recaptcha', function () {
response=wpremotepost(′https://www.google.com/recaptcha/api/siteverify′,【′body′=>【′secret′=′你的SecretKey′,′response′=>_POST【'token'】,
'remoteip' => SERVER【′REMOTEADDR′】】】);result = json_decode(wp_remote_retrieve_body(response));if(!result->success || $result->score < 0.5) wp_die('验证失败');
// 继续后续逻辑
});
触发验证:前端表单submit时,用grecaptcha.execute获取token并随表单AJAX提交至verify_recaptcha。