为 WordPress 评论功能增加字数长度限制

青山 2018年8月6日22:28:56161212 990字
摘要

近来发现,有些读者在我的博客留言都是仅仅为了一个外链,随便发个“好文章”“顶一个”“加油”这样毫无意义的评论;而有些评论字数又超长了,特别是一些垃圾评论,毫无意义的,对别的读者阅读感受也有影响。今天在龙笑天博客找到了解决方法。

为 WordPress 评论功能增加字数长度限制

这个功能其实实现起来很简单,只要利用好 WordPress 为我们提供的 preprocess_comment 钩子即可,使用这个钩子可以实现对评论内容的各种处理,不管是过滤评论中的恶意链接还是处理特定的垃圾评论,通过 preprocess_comment 钩子我们都可以实现。

将下面的代码添加到当前 WordPress 主题的 functions.php 文件:

/*** 为WordPress评论功能增加字数长度限制 - 龙笑天下* https://www.ilxtx.com/limit-wordpress-comment-length.html*/
  function lxtx_set_comments_length($commentdata) {    
  $minCommentlength = 5; //最少字數限制,建议设置为5-10个字    
  $maxCommentlength = 220; //最多字數限制,建议设置为150-200个字   $pointCommentlength = mb_strlen($commentdata['comment_content'],'UTF8'); //mb_strlen 一个中文字符当做一个长度    
if ( ($pointCommentlength < $minCommentlength) && !is_user_logged_in() ){    
err('抱歉,您的评论字数过少,最少输入' . $minCommentlength .'个字(目前字数:'. $pointCommentlength .')【登录后无此限制】');    
exit;    }    
if ( ($pointCommentlength > $maxCommentlength) && !is_user_logged_in() ){    
err('抱歉,您的评论字数过多,最多输入' . $maxCommentlength .'个字(目前字数:'. $pointCommentlength .')【登录后无此限制】');    
exit;    
}    
return $commentdata;}add_filter('preprocess_comment', 'lxtx_set_comments_length');

即可实现对评论字数进行控制。(代码来自龙笑天博客

青山
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

评论:16   其中:访客  8   博主  8
    • 天倾 天倾 4

      你们都是大佬啊。博客还有人评论那么多字

      • 杨景文 杨景文 5

        220个字,按我这个话痨来看,应该绰绰有余了,似乎没人比我更啰嗦。 :razz:

          • 青山 青山

            @ 杨景文 有的,你看我那篇市长的小说,下面有人直接粘贴了

          • 梁兴健 梁兴健 5

            有时候我还挺怀念那种类似于“文章不错”的评论,因为他们必须要访问了我的网站才能给我评论,也就是直接地给我增加了一个ip的流量 :mrgreen:

            • 久伴博客 久伴博客 4

              字数限制我觉得必要性不大,可以防止一些人刷屏

              • 懿古今 懿古今 6

                那种纯粹是几个字的评论,一般都是直接禁止评论或者变成垃圾评论,不过增加字数限制还是很有用的

                • nice nice 5

                  因为不知道说点什么才会说来过,留个脚印,加油!诸如此类。。

                    • 青山 青山

                      @ nice 即便有人是这种想法,但是我觉得不灌水式的留言更好 :mrgreen:

                    • 喃小柯 喃小柯 2

                      所以以后灌水就要评论像我这样标准二十字了