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. 哲哲 的头像
    哲哲 Lv6.推心置腹
    这个沙发我做了·我给你说事情又得托两天了·最近生活很没有规律·脑子乱的呀整理不出来什么东西·
    16年前
  2. ifenwen 的头像
    ifenwen Lv5.熟稔有加
    不错 不过还是不准备用了
    16年前
  3. 晴天 的头像
    晴天 Lv1.萍水相逢
    不知道怎么样 我是没打算用的啦
    16年前
  4. 秦大少 的头像
    秦大少 Lv5.熟稔有加
    说实话,我非常讨厌验证码之类的东西!
    16年前
  5. 红心草 的头像
    红心草 Lv3.点头之交
    的确是各有利弊,我觉得验证码的弊处更大。
    16年前
  6. 任鸟飞 的头像
    任鸟飞 Lv1.萍水相逢
    搞不懂 为什么要使用验证码,对用户体验相当不好。
    16年前
  7. yesureadmin 的头像
    yesureadmin Lv9.惺惺相惜
    我去一个站,有时看见验正码就直接关闭,当然一些老鸟的站例外.如果自己的站到时到了PR456哪倒是可以搞搞
    16年前
  8. 皇家元林 的头像
    皇家元林 Lv6.推心置腹
    嗯嗯,虽然我不喜欢验证码,但是给那些广告搞烦了 你能不能弄个“88888”这几个数字的。。。简单就行
    16年前
  9. Code之行人 的头像
    Code之行人 Lv6.推心置腹
    这个有用,等垃圾多了才用得上
    16年前
  10. 卢松松 的头像
    卢松松 Lv2.初识寒暄
    还是不要加验证的好
    16年前
😊