WordPress防机器人评论代码

最近不知道怎么搞的,每天总是有机器人发的垃圾评论。虽说已经安装了Akismet,垃圾评论都被拦截了,但是每次进后台,看到那些垃圾评论,就影响心情。就一直在寻思着搞个验证码什么的,或许会好些。

昨天,在群里问起这个问题,于是就有一博友向我推荐了一篇@kn007大神写的《自己写了个防机器人评论的,请大家帮忙发现BUG》文章。这个方法不需要安装插件,只需要通过添加不到30行的代码,来添加一个复选框(兼容Ajax comments),以阻止机器人留言。

@kn007大神的帮助下,自己添加好了代码,修改了些文字和CSS代码(虽然自己完全没学过CSS,还是把这个折腾完了,真不容易啊……),感觉效果还不错,原代码效果看这里。昨天把Akismet插件也停掉了,目测加了这个复选框之后,今天还没有发现机器人垃圾评论,哈哈~ 先上一张效果图~

以下附上修改的代码,将此代码拷贝到主题的functions.php文件末尾,可能还需要根据个人需要修改CSS代码,来调整显示效果。

function access_submit($comment) {
if (!is_user_logged_in()) {
if(isset($_POST[‘access_submit’])) {
return($comment);
} else {
if (isset($_POST[‘isajaxtype’]) && $_POST[‘isajaxtype’] > -1) {
die(“请先勾选发表回复旁选项”);
} else {
if(function_exists(‘err’)){
err(“请先勾选发表回复旁选项”);
} else {
wp_die(“请先勾选发表回复旁选项”);
}
}
}
} else {
return($comment);
}
}
add_action(‘preprocess_comment’, ‘access_submit’);
function add_checkbox() {
if (!is_user_logged_in()) {
$content.= ‘<input type=”checkbox” name=”access_submit” id=”access_submit” value=”access_submit” style=”margin-top:-30px; width: 12px; height: 12px; margin-left:88px; ” />’;
$content.= ‘<input value=”请勾选此项以确认你不是机器人 O(∩_∩)O ” style=”margin-top:-30px; width: 318px; height: 22px; margin-left:112px; color: #1B475A;” />’;
echo $content;
}
}
add_action(‘comment_form’, ‘add_checkbox’);

 

以下是原作:

function access_submit($comment) {
if (!is_user_logged_in()) {
if(isset($_POST[‘access_submit’])) {
return($comment);
} else {
if (isset($_POST[‘isajaxtype’]) && $_POST[‘isajaxtype’] > -1) {
die(“请先同意声明”);
} else {
if(function_exists(‘err’)){
err(“请先同意声明”);
} else {
wp_die(“请先同意声明”);
}
}
}
} else {
return($comment);
}
}
add_action(‘preprocess_comment’, ‘access_submit’);
function add_checkbox() {
if (!is_user_logged_in()) {
$content.= ‘<input type=”checkbox” name=”access_submit” id=”access_submit” value=”access_submit” style=”width: 15px;” /><label for=”access_submit” style=”margin-left:5px;”>同意声明并回复楼主 </label>’;
$content.= ‘<span style=”font-weight:bold;text-shadow:0 1px 0 #ddd;”> 声明:</span> 本博采用 <a rel=”nofollow” href=”http://creativecommons.org/licenses/by-nc-sa/3.0/” rel=”external nofollow” rel=”external nofollow” title=”署名-非商业性使用-相同方式共享”>BY-NC-SA</a> 协议进行授权’;
echo $content;
}
}
add_action(‘comment_form’, ‘add_checkbox’);

6 thoughts on “WordPress防机器人评论代码

  1. lin

    关闭评论,啥都解决了!

    • jeansing

      我的原则是尽可能的开放评论,哈哈,和你刚好相反!!! 😀

  2. 兴哥,把我的链接改为
    初涉网络
    i.yehuaer.com
    w7早不用了。

    最近在哪发财呀?

    • jeansing

      不敢当,马上去改,最近很忙很少上来了

  3. 哈哈。懂英语的话我推荐你做英语网赚,我觉得挺难的。

    • jeansing

      我觉得网赚想做好还是比较难的,还是想想做实体生意好了, 🙂 近来可好

Comments are closed.