小程序代理加盟外贸建站,就用成品站模板

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

维翔主机 - 老牌WordPress空间

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

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

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() 函数访问提示信息!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
15个WordPress主题,仅需499元!
用户交互

WordPress在线聊天插件:Simple Ajax Chat

2013-4-18 8:20:00

用户交互

WordPress工单支持系统插件:wpsc Support Tickets

2013-4-26 8:00:00

18 条回复 A文章作者 M管理员
  1. Jerry8yuan

    为啥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实现

    • 如果遇到浏览器禁用了js(可能性很小,但不排除),就要很好的考虑一下JS”平稳退化“的问题了

    • 倡萌

      问一下站长 请问你是怎么备案的 我这两天备案把内容换成网址导航了不知道能不能备下来呀

    • 我就是直接提交备案,反正我的内容没有问题。你要问清楚,个人能建哪些类型的网站,我不清楚个人是否可以备案导航站。具体的询问你的主机商吧

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

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

    • 没必要限制省略号,限制字数就好了

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

    • 添加到 functions.php 的最后一个 ?> 的前面即可

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索