WordPress优化技巧:非插件实现小学算术式验证功能

        昨天我在《WordPress免费教程(七):WordPress插件Akismet安装使用方法》中,具体讲解了过滤垃圾评论插件Akismet,但是有不少人提出了各自的观点,不少人都没有使用此插件,而是在评论内增加了验证码。我现在就来总结下使用Akismet和使用验证码的利与弊吧:

        Akismet利:WordPress默认插件之一,著名的垃圾评论过滤插件。

        Akismet弊:存在误断和漏断的情况,另外一点插件必然会影响到WordPress运行速度

        验证码利:可以有效过滤软件类的垃圾评论

        验证码弊:严重影响了用户体验,有损于博客整体形象。人工类的垃圾评论不能过滤。

        既然有人说使用验证码而不使用插件,那自然有他的道理。但是老张博客在这里有个提醒,就是如果你使用了验证码,那你的验证码一定要简单。现在验证码大体是三类,一类是四位字母类,第二类是五位数字类,还有一种就是算术类的。在这里老张博客推荐你使用算术验证,即算术类的,他是随机出现两个一位数相加,让你计算出结果。选择这个的好处就是对用户体验影响不是太大,输入的位数少不会影响到用户的情绪。

        那我把这个方法分享给大家:

        一、修改 wp-comments-post.php :

查找:

if ( " == $comment_content )

在其上面添加代码:

//Fufu_checkcode
if ( !$user->ID ) {
$aaa = trim($_POST[aaa]);
$bbb = trim($_POST[bbb]);
$subab = trim($_POST[subab]);
if((($aaa+$bbb)!=$subab)|| empty($subab)){
wp_die( __(‘不好意思,请填写正确的验证码数’) );
}
}
//Fufu_end

二、修改主题文件下的comments.php

查找

<input name="submit" type="submit" id="submit"

在其前面添加

<?php if (!$user_ID) : ?>
<?php $aaa=rand(0,5); $bbb=rand(3,9); ?><?php echo $aaa; ?>+<?php echo $bbb; ?>=
<input type="text" name="subab" id="subab" size="2" tabindex="5" style="width:20px" /><?php if ($req) _e(‘(必填)’, ‘inove’); ?>
<input name="aaa" value="<?php echo $aaa; ?>" type="hidden" />
<input name="bbb" value="<?php echo $bbb; ?>" type="hidden" />
<?php endif; ?>

好了,完成了,测试下效果吧!我相信,这个WordPress优化技巧,在你的博客之路上,一定可以给你一点参考吧!

注意:代码的编码要和你的一致,另外我的代码中注意下标点(将单引号和双引号都改为英文的单双引号),因为我没有安装"代码高亮"这个插件。

评论区

共 39 条评论
  1. 头像
    天缘 Lv3.点头之交
    这比猜谜语人性化多了,上次有个博客,本来有问题的,因为谜语总是猜不中没办法留言。
    15年前
  2. 头像
    Ygs Lv4.常来常往
    willin kan 的Spam小墙非常好用
    15年前
  3. 头像
    宁波SEO Lv3.点头之交
    :oops: 为什么要过滤留言呢?
    15年前
  4. 头像
    创享·生活 Lv4.常来常往
    呵呵..2个一齐用..肯定能过滤大部分的留言了,哇咔咔
    15年前
  5. 头像
    落水鱼 Lv3.点头之交
    这个东西。。。。。
    15年前
  6. 头像
    咖啡因 Lv1.萍水相逢
    这个,验证码感觉没多大用处,用插件实现垃圾留言过滤就可以了。
    15年前
  7. 头像
    alige Lv4.常来常往
    看见没回复就知道了 老张你现在已经很成功了 日IP不下于300吧? 真佩服你,博客做的这么专业,马上就可以风云互联网啦!加油!
    15年前
  8. 头像
    winw Lv2.初识寒暄
    用这个方面应该会好很多,但我还是不喜欢填写这些东东。
    15年前
  9. 头像
    刘志猛 Lv2.初识寒暄
    呵呵,很实用
    15年前
  10. 头像
    龙的传人 Lv6.推心置腹
    验证码会严重影响用户体验,这个倒是没想到。一直感觉弄几个数字不太难呢,这下要仔细斟酌一下了。 老张弄得这个验证码很好,我发现自己用的验证码插件,竟然挡不住一个来自美国的IP的垃圾评论。 最后只好用过滤词语loan才搞定。
    15年前
😊