Geetest极验解决WordPress评论验证
WordPress垃圾评论可谓是非常严重,为了解决垃圾评论,也有很多开发者制作了相关插件与功能代码。极验证的wordpress插件官网也给出了相关插件,不过那已经是几年前的事情了,至于兼容不兼容,笔记倒是没有测试过,此教程使用代码来自v2ex,相关插件可以自行测试。使用此功能时请先在极验证官网申请行为验证并增加验证
下面说说在wordpress中的应用,首先我们要为评论表单添加自定义字段,以显示极验证
add_action('comment_form', array($this, 'show_geetest_in_comments'));
然后就是插入数据验证
add_filter('preprocess_comment', array($this, 'validate_geetest_comment'), 100, 1);
接着就是通过极验证的相关API添加相关js代码至wordpress中,大致代码如下
function script_geetest_in_comments(){
if(is_singular()){
wp_enqueue_script('gt', get_template_directory_uri() . '/inc/geetest/assets/gt.js');
$geetestlib = new geetestlib();
$output = $geetestlib->get_widget('【public_key】', $this->options['register'], '【private_key】', "gt_reply", 'zh-cn');
$js = <<<HEREDOC
<script>
//将验证码显示在submit,提交按钮前面
var comment_submit = document.getElementById('submit');
var gt_holder = document.getElementById('gt_reply');
comment_submit.parentNode.insertBefore(gt_holder,comment_submit);
</script>
HEREDOC;
$inline = $output . $js;
wp_add_inline_script('gt', $inline);
}
}
请注意,这里使用的wp_add_inline_script函数,此函数在wordpress4.5版本中引用,请注意你的wordpress版本。将【public_key】与【private_key】替换成你的极验证ID与KEY。
最终效果如下
此功能我已集成在最新的wordpress shortcut主题中,你可以下载查看相关代码,会员用户可以直接在文章结尾处下载。
[insert_post ids=1603]
至此教程结束,如果您需要wordpress技术帮助,可以在本站的个人中心开通相关会员,我将为你提供5 X 12小时的wordpress服务。
[buttons text=”下载附件” url=”https://www.topicnote.com/download/?file=346c5cefee54dd89123caafb906f643b” icons=”icon-xiazai” color=”primary” border=”no” target=”yes” ]
我付款后,怎么还看不到在哪里下载呢?
支付接口在调试,请QQ联系我