增加WordPress评论留言字数长度限制

现在许多博客都喜欢在文章下面开启谈论功效,然则wordpress的谈论这块,有人忧闷有人喜,忧闷的是频仍的广告好闹心,甚至是随便打几句英文灌水,这样很虚耗数据库空间!也有的喜欢长篇阔论,比博主自己写的文章都长,难免影响体验!那么若是增添WordPress谈论留言字数长度限制,从而加倍严酷的规范了谈论者的行为!今天给人人带来的是WordPress站点2种限制谈论字数的方式(最大字数限制和最小字数限制)!

1、AJAX方式

将以下函数添加到您所用主题的函数文件中,一样平常函数文件是function.php,视自己主题的详细而定!

  1. /* 设定谈论字数限制最先 */
  2. function set_comments_length($commentdata) {
  3. $minCommentlength = 3;      //最少字数限制
  4. $maxCommentlength = 1000;   //最多字数限制
  5. $pointCommentlength = mb_strlen($commentdata['comment_content'],'UTF8');    //mb_strlen 1其中文字符看成1个长度
  6. if ($pointCommentlength < $minCommentlength){
  7. err('负疚,您的谈论字数过少,请至少输入' . $minCommentlength .'个字(现在字数:'. $pointCommentlength .'个字)');
  8. exit;
  9. }
  10. if ($pointCommentlength > $maxCommentlength){
  11. err('对不起,您的谈论字数过多,请少于' . $maxCommentlength .'个字(现在字数:'. $pointCommentlength .'个字)');
  12. exit;
  13. }
  14. return $commentdata;
  15. }
  16. add_filter('preprocess_comment', 'set_comments_length');
  17. /* 设定谈论字数限制竣事 */

2、通俗方式

将以下函数添加到您所用主题的函数文件中,一样平常函数文件是function.php,视自己主题的详细而定!

  1. /* 设定谈论字数限制最先 */
  2. function set_comments_length($commentdata) {
  3. $minCommentlength = 3;      //最少字数限制
  4. $maxCommentlength = 1000;   //最多字数限制
  5. $pointCommentlength = mb_strlen($commentdata['comment_content'],'UTF8');    //mb_strlen 1其中文字符看成1个长度
  6. if ($pointCommentlength < $minCommentlength){
  7. header("Content-type: text/html; charset=utf-8");
  8. wp_die('负疚,您的谈论字数过少,请至少输入' . $minCommentlength .'个字(现在字数:'. $pointCommentlength .'个字)');
  9. exit;
  10. }
  11. if ($pointCommentlength > $maxCommentlength){
  12. header("Content-type: text/html; charset=utf-8");
  13. wp_die('对不起,您的谈论字数过多,请少于' . $maxCommentlength .'个字(现在字数:'. $pointCommentlength .'个字)');
  14. exit;
  15. }
  16. return $commentdata;
  17. }
  18. add_filter('preprocess_comment', 'set_comments_length');
  19. /* 设定谈论字数限制竣事 */

固然,可以适当的做一些判断,好比,判断是否为治理员或者是否为登任命户,这样可以只限制未登任命户的谈论。这个功效实在实现起来很简朴,只要行使好 WordPress 为我们提供的 preprocess_comment 钩子即可,使用这个钩子可以实现对谈论内容的种种处置,不管是过滤谈论中的恶意链接照样处置特定的垃圾谈论,通过 preprocess_comment 钩子我们都可以实现。

  1. /**
  2.  * 为WordPress谈论功效增添字数长度限制
  3.  */
  4. function lxtx_set_comments_length($commentdata) {
  5.     $minCommentlength = 5; //最少字數限制,建议设置为5-10个字
  6.     $maxCommentlength = 220; //最多字數限制,建议设置为150-200个字
  7.     $pointCommentlength = mb_strlen($commentdata['comment_content'],'UTF8'); //mb_strlen 一其中文字符当做一个长度
  8.     if ( ($pointCommentlength < $minCommentlength) && !is_user_logged_in() ){
  9.     err('负疚,您的谈论字数过少,最少输入' . $minCommentlength .'个字(现在字数:'. $pointCommentlength .')【登录后无此限制】');
  10.     exit;
  11.     }
  12.     if ( ($pointCommentlength > $maxCommentlength) && !is_user_logged_in() ){
  13.     err('负疚,您的谈论字数过多,最多输入' . $maxCommentlength .'个字(现在字数:'. $pointCommentlength .')【登录后无此限制】');
  14.     exit;
  15.     }
  16.     return $commentdata;
  17. }
  18. add_filter('preprocess_comment', 'lxtx_set_comments_length');

上面的代码只对未登任命户的谈论设置了限制,而没有对治理员举行分外的判断。只需要选择上面其中之一,添加到当前主题的Functions.php文件中就可以使用。

拓展函数

wordpress文章谈论中阻止含有链接的谈论(防垃圾谈论机制):

  1. function rkv_url_spamcheck( $approved , $commentdata ) {
  2.     return ( strlen( $commentdata['comment_author_url'] ) > 50 ) ? 'spam' : $approved; //50是链接长度,若是希望所有链接都阻止,就将50换成1
  3.   }
  4.   add_filter( 'pre_comment_approved', 'rkv_url_spamcheck', 99, 2 );

wordpress文章谈论中阻止全英文谈论(防垃圾谈论机制):

  1. function refused_english_comments($incoming_comment) {
  2.  $pattern = '/[一-龥]/u';
  3.  // 阻止全英文谈论
  4.  if(!preg_match($pattern, $incoming_comment['comment_content'])) {
  5.  wp_die( "您的谈论中必须包罗汉字!" );
  6.  }
  7.  $pattern = '/[あ-んア-ン]/u';
  8.  // 阻止日文谈论
  9.  if(preg_match($pattern, $incoming_comment['comment_content'])) {
  10.  wp_die( "谈论阻止包罗日文!" );
  11.  }
  12.  return( $incoming_comment );
  13. }
  14. add_filter('preprocess_comment', 'refused_english_comments');

固然,连系wordpress的谈论钩子preprocess_comment,有许多拓展功效的,人人详细可以去看看wordpress官方的开发文档或者插件文档,信托会学到许多的!

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!3308869544
2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理,有奖励!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
4. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有猫币奖励和额外收入!

主题镇 WP教程 增加WordPress评论留言字数长度限制 https://zhutizhen.com/14536.html

永远为用户服务的镇长!

常见问题
  • 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。
查看详情
  • 最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或联络我们。
查看详情

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务