性价比最高的香港ASP、PHP主机提供商
做网站,就上凡科建站

限制WordPress评论内容的最小字数

Loading
0
Comodo SLL证书促销 - 免费ssl证书申请_ssl证书购买_ev ssl证书_https证书购买 - GDCA_数安时代

很多读者在你的WordPress博客留言都是紧紧为了一个外链,所以他们很忙,随便发个“好文章”“顶一个”这样毫无意义的评论,虽然你可以手动删除他们,但是如果你的网站很受欢迎,删除评论也是很耗时间的!

倡萌建议限制你的WordPress站点评论内容的最小字数,这样应该是可以避免不少简短的评论。将下面的代码添加到当前WordPress主题的 functions.php 文件:

1
2
3
4
5
6
7
8
9
add_filter( 'preprocess_comment', 'minimal_comment_length' );
function minimal_comment_length( $commentdata ) {
	$minimalCommentLength = 20;
	if ( strlen( trim( $commentdata['comment_content'] ) ) < $minimalCommentLength )
        {
		wp_die( '抱歉,您的评论太短了,请至少输入 ' . $minimalCommentLength . ' 个字!' );
        }
	return $commentdata;
}

注:请根据自己的需求修改第三行的数字。

方法解析:评论内容保存到数据库前,使用 preprocess_comment 过滤器来检查评论内容。通过 strlen() 函数计算评论内容的字数,如果小于限制的字数,就通过 wp_die() 函数访问提示信息!

支付宝扫码打赏 微信打赏

如果文章对你有帮助,欢迎点击上方按钮打赏作者

MetInfo | 最适合企业网站建设的cms系统

关于 倡萌

一个疯狂的 WordPress 爱好者,喜欢折腾 WordPress 主题,分享 WordPress 资源。如果你也喜欢 WordPress,欢迎和我一起交流!

18 条评论

  1. 为啥WPdie会吐一大坨css之类的东西? :???:

  2. 博主,用你的方法实现了评论字数限制,但现在有一个问题,我新建了一个留言板,就是用网上改comments.php的方法新建的。现在我只想限制留言板的字数,不想限制本身评论的字数,请问应该怎么改?

    • 我不知道你怎么改。你试试使用条件标签来判断,比如留言本是page的话,可以试试 if(is_page(‘liuyan’)) { }
      liuyan 是该页面的别名

      • 这一句是加在function里面吗?直接加在上面代码的第一句上头吗?加完了提示出错。留言板是用single页面+comment页面改成guestbook.php和guestcomments.php这样。所以留言板实际上就是另一个评论页面。所以加了你提供的代码之后,评论本身也被限制了。但我只想限制留言板。

        • 无语了,谁叫你直接用呢?
          add_filter( ‘preprocess_comment’, ‘minimal_comment_length’ );
          function minimal_comment_length( $commentdata ) {
          if(is_page(‘liuyan’)){ //记得修改 liuyan 为你的留言板的别名或者ID
          $minimalCommentLength = 20;
          if ( strlen( trim( $commentdata[‘comment_content’] ) ) < $minimalCommentLength )
          {
          wp_die( ‘抱歉,您的评论太短了,请至少输入 ‘ . $minimalCommentLength . ‘ 个字!’ );
          }
          return $commentdata;
          }
          }

          • 多谢解答,但是试了试不行。我想到一个办法,评论用插件,比如多说,然后留言用自制留言板。这样留言板就能限制字数了,但问题是用了多说以后,自制的留言板也不能用了,多说占用了评论端口。请问,这个问题可以解决吗?

  3. 应该还有其它的方法可以实现,不过这个方法也简单!

  4. 你好!我的小站用了上面这段代码,好像出了点小问题,能给分析分析吗?

  5. 我感觉能在前端用js实现的功能没有必要去php实现

  6. 好东西“`我已经实现了,哈哈谢了

  7. 对了能不能限制一些字符,比如省略号之类的

  8. 请问博主,具体添加在这个文件的什么位置呢,我是菜鸟啊

发表评论