Geetest极验解决WordPress评论验证

    Geetest极验解决Wordpress评论验证

    WordPress垃圾评论可谓是非常严重,为了解决垃圾评论,也有很多开发者制作了相关插件与功能代码。极验证的wordpress插件官网也给出了相关插件,不过那已经是几年前的事情了,至于兼容不兼容,笔记倒是没有测试过,此教程使用代码来自v2ex,相关插件可以自行测试。使用此功能时请先在极验证官网申请行为验证并增加验证

    Geetest极验解决Wordpress评论验证

    下面说说在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。

    最终效果如下

    Geetest极验解决Wordpress评论验证

    此功能我已集成在最新的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” ]

    Responses

    您的电子邮箱地址不会被公开。 必填项已用*标注

    Up Next:

    wordpress后台文章日期筛选

    wordpress后台文章日期筛选