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. 头像
    洗发水排行榜 Lv1.萍水相逢
    怎么说呢 支持啊!!!
    15年前
  2. 头像
    易赛和捷易通哪个好 Lv3.点头之交
    有点看不懂啊 最近想用WP做个站,可是没有好的主题 下次发点wp主题哈·!
    15年前
  3. 头像
    i981的世界 Lv1.萍水相逢
    这个好,小学算术
    15年前
  4. 头像
    右脑开发 Lv2.初识寒暄
    学习学习~~还是没插件好
    15年前
  5. 头像
    学夫子 Lv2.初识寒暄
    emlog里有一个有趣的验证码,就是拖动数字从小到大排列,哈哈
    15年前
  6. 头像
    阅网博客 Lv2.初识寒暄
    验证码就面临这被和谐。 :grin:
    15年前
  7. 头像
    卢松松 Lv2.初识寒暄
    还是不要加验证的好
    15年前
  8. 头像
    Code之行人 Lv6.推心置腹
    这个有用,等垃圾多了才用得上
    15年前
  9. 头像
    皇家元林 Lv6.推心置腹
    嗯嗯,虽然我不喜欢验证码,但是给那些广告搞烦了 你能不能弄个“88888”这几个数字的。。。简单就行
    15年前
  10. 头像
    yesureadmin Lv9.惺惺相惜
    我去一个站,有时看见验正码就直接关闭,当然一些老鸟的站例外.如果自己的站到时到了PR456哪倒是可以搞搞
    15年前
😊