性价比最高的香港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,欢迎和我一起交流!

精彩推荐

为WordPress添加侧边跟随百度分享按钮(含划词分享、图片分享效果)

为WordPress添加侧边跟随百度分享按钮(含划词分享、图片分享效果)

使用 Live Chat by Supsystic 为你的 WordPress 网站添加在线聊天功能

使用 Live Chat by Supsystic 为你的 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. 请问博主,具体添加在这个文件的什么位置呢,我是菜鸟啊

发表评论