WordPress 的留言功能 (评论功能),可以鼓励用户围绕文章内容进行讨论交流。然而,对于一些严肃的网站来说,留言太长或太短,并不利于进行交流。在这篇文章中,我们将告诉你如何限制 WordPress 评论留言的长度,既包括防止留言内容太短,也包括防止留言内容过长。

为什么要限制 WordPress 评论的长度?

对于一些经常围绕某个话题进行讨论的网站来说,将留言评论的内容限制到一定范围内,反而更有利于进行讨论,比如评论内容限制在 20 字以上,1000 字以下。 如果有人评论只写了一个字,比如 「赞」,实际上并没有太大的意义。这种情况更像是来博取链接的垃圾评论。同样,如果有人的评论内容超过了 1000 字,如果 不是发了大量垃圾链接的话,很大程度上讨论的范围超出了一篇文章覆盖的范围。 因此,通过限制 WordPress 留言的长度,可以更好地改善这类网站的讨论氛围。

方法 1:使用插件限制 WordPress 留言长度 使用插件比较简单

在 WordPress 的管理后台,在 【插件】-> 【安装插件】 页面内,搜索 Control Comment Length;然后下载并激活 Control Comment Length 插件。

然后,在 【设置】-> 【 Control Comment Length 】页面内进行配置。 这是一款德文插件,我也不认识,幸好界面还包括有英文翻译。为了便于大家理解,我在下图中添加了中文翻译。

limit-comment-length

需要填写的,主要包括留言的最少字数和最多字数,以及留言长度超出限制范围时的提示信息。字数限制范围,可以根据自己网站情况设置。这里的单位是字 节,UTF8 编码中每个汉字占 3 个字节,英文字母和数字占 1 个字节;因此我们建议你分别设置为 60 和 3000 。如果你只想限制留言的最多字数,只需要将最 少字数限制为 1;同样,如果你只想限制留言的最少字数,只需要将最多字数设置为一个很大的数字 (比如 99999) 即可。

提示信息内容可以自己设置。上图中的内容均为德文,你至少应该替换成跟你 WordPress 网站前台一样的语言。提示信息可以包含 HTML 代码,因 此你可以自己定义输出提示信息的内容和格式。注意,其中有三个参数:{CommentLength},代表用户留言的长度; {minimalCommentLength},留言最少字节数;{maximalCommentLength},留言最多字节数。

方法 2:通过代码限制 WordPress 留言长度

如果你不想使用插件,更愿意用代码来解决问题,这个办法更适合你。你只需要将以下代码复制到你 WordPress 主题的 funcitons.php 文件内,或者放在你网站专用的插件内,就可以了。

  1. add_filter( 'preprocess_comment', 'wpb_preprocess_comment' );
  2. function wpb_preprocess_comment($comment) {
  3.     if ( strlen( $comment['comment_content'] ) > 3000 ) {
  4.         wp_die('Comment is too long. Please keep your comment under 3000 characters.');
  5.     }
  6. if ( strlen( $comment['comment_content'] ) < 60 ) {
  7.         wp_die('Comment is too short. Please use at least 60 characters.');
  8.     }
  9.     return $comment;
  10. }

务必注意:wp_die() 函数的单引号内,是超出留言限制时输出的提示信息,你可以替换为中文 (或者你网站对应的前台语言) 。需要注意的是,如果你要输出中文提示信息,请记得将 functions.php 文件或者网站专用插件的文件保存为 utf8 no bom 格式,以防止输出乱码;使用 notepad++免费编辑器或者 everedit 收费编辑器均可。还有一条,每个汉字占 3 个字节,别忘了转换哦!