通过控制WordPress评论回复字数来屏蔽恶意评论

麦子 优化维护4字数 1135阅读3分47秒阅读模式

如果我们在使用WordPress的时候是不是会看到有些后网站被盯上来留言评论留下外链的,会简单的留下点文字主要是来发布外链的。这里我们如何屏蔽呢?实际上,大凡能真实的留言的,我们可能还会让他通过,唯独他们每次留言的太少。这里我们可以通过限制留言的字数,低于多少字就不可以留言。

  1. add_filter( 'preprocess_comment', 'minimal_comment_length' );
  2.  
  3. function minimal_comment_length( $commentdata ) {
  4.  
  5. $minimalCommentLength = 60;
  6.  
  7. if ( strlen( trim( $commentdata['comment_content'] ) ) < $minimalCommentLength )
  8.  
  9. {
  10.  
  11. wp_die( '抱歉,您的评论太短了,请至少输入 ' . $minimalCommentLength . ' 个字!' );
  12.  
  13. }
  14.  
  15. return $commentdata;
  16.  
  17. }
  18.  
  19. /**
  20.  
  21. * https://chonzi.com/8636.HTML
  22.  
  23. */
  24.  
  25. function lxtx_set_comments_length($commentdata) {
  26.  
  27. $minCommentlength = 100; //最少字數限制,建议设置为5-10个字
  28.  
  29. $maxCommentlength = 2200; //最多字數限制,建议设置为150-200个字
  30.  
  31. $pointCommentlength = mb_strlen($commentdata['comment_content'],'UTF8'); //mb_strlen 一个中文字符当做一个长度
  32.  
  33. if ( ($pointCommentlength < $minCommentlength) && !is_user_logged_in() ){
  34.  
  35. err('抱歉!您说的内容太少了,请给我讲个' . $minCommentlength .'个字的笑话(目前字数:'. $pointCommentlength .')【登录后无此限制】');
  36.  
  37. exit;
  38.  
  39. }
  40.  
  41. if ( ($pointCommentlength > $maxCommentlength) && !is_user_logged_in() ){
  42.  
  43. err('对不起,你的文采太好了,你的笑话太长了,我只要' . $maxCommentlength .'个字的笑话!(目前字数:'. $pointCommentlength .')【登录后无此限制】');
  44.  
  45. exit;
  46.  
  47. }
  48.  
  49. return $commentdata;
  50.  
  51. }
  52.  
  53. add_filter('preprocess_comment', 'lxtx_set_comments_length');

这样,我们可以通知minimalCommentLength字符数来自定义,你设置多长才可以留言。

投上你的一票
 
  • 本文由 麦子 发表于 2025年1月2日 16:16:12
  • 转载请务必保留本文链接:https://www.zhujipingjia.com/preprocess-comment.html
  • WordPress屏蔽评论