WordPress三招教你快速屏蔽WordPress垃圾评论
WordPress去掉多说评论之后,经常有各种垃圾评论出现在后台。不堪其扰,于是去找了一些办法来解决这个问题。
一般都是说加一些屏蔽过滤的函数之类的。其实都差不多。不过有些特别长的就显得有点累赘了。
当然比起官方的垃圾过滤插件肯定功能没那么强大,但是最起码会让你的身材很好看。不会在你的数据库弄那么多东西进去。
今天分享几个实用小代码吧。我都用过,而且效果还不错。大家也可以试试,不错可以收藏一下。
第一招:禁止非法词汇评论提交到数据库
把下边的代码放到当前主题的 functions.php 里,然后在后台“讨论”中设置你的黑名单即可。
//禁止垃圾评论提交到数据库 function Banfuckspam($comment) { if( is_user_logged_in()){ return $comment;} //登录用户无压力... if( wp_blacklist_check($comment['comment_author'],$comment['comment_author_email'],$comment['comment_author_url'], $comment['comment_content'], $comment['comment_author_IP'], $comment['comment_agent'] )){ header("Content-type: text/html; charset=utf-8"); wp_die('你是不是在米国骂惯了总统。。赶紧修改非法词汇吧!'); } else { return $comment; } } add_filter('preprocess_comment', 'Banfuckspam');
当评论的内容、评论者名称、URL、电子邮件或IP地址中包含其中任何关键字时,系统将会禁止提交到数据库。
一行一个关键字或IP地址。WordPress也会在词中匹配关键字,例如“press”亦将匹配“WordPress”。
第二招:限制WordPress评论字数
首先把下边的代码放到当前主题的 functions.php 里,注意修改最小字数:
//限制WordPress评论最少字数 function limit_comment_length( $commentdata ){ $minlength = 12;//评论最少字数 preg_match_all( '/./u', trim( $commentdata['comment_content'] ), $maxlength ); $maxlength = count( $maxlength[0] ); if( $maxlength < $minlength ) wp_die( '吐槽最少需要 ' . $minlength . ' 字才能完成!' ); return $commentdata; } add_filter( 'preprocess_comment', 'limit_comment_length', 8 );
此代码还支持中文字数。这段代码可以限制WordPress评论的最少字符数。
当然,如果你觉得太多了也不行,还可以试试下面这段代码。效果更佳。
//评论字数限制 function limit_comment_length( $commentdata ) { $minCommentlength = 5; //最少字数限制 $maxCommentlength = 200; //最多字数限制 $pointCommentlength = mb_strlen($commentdata['comment_content'],'UTF8'); //mb_strlen 1个中文字符当作1个长度 if ( $pointCommentlength < $minCommentlength ) { header("Content-type: text/html; charset=utf-8"); wp_die('抱歉,您的评论太短了,请至少输入' . $minCommentlength .'个字(已输入'. $pointCommentlength .'个字)'); exit; } if ( $pointCommentlength > $maxCommentlength ) { header("Content-type: text/html; charset=utf-8"); wp_die('抱歉,您的评论太长了,请少于' . $maxCommentlength .'个字(已输入'. $pointCommentlength .'个字)'); exit; } return $commentdata; } add_filter( 'preprocess_comment', 'limit_comment_length' );
加上评论字数限制以及关键词屏蔽后已经可以屏蔽大部分垃圾评论了。这个你可以自己试试看。
还有评论怎么办?看看下面这个终极杀手锏!
第三招:WordPress评论过滤日文字符和纯英文
还是把代码放到当前主题的 functions.php 里即可。两函数还可拆开执行。效果差不多。
//评论过滤 function refused_spam_comments( $comment_data ) { $pattern = '/[一-龥]/u'; $jpattern ='/[ぁ-ん]+|[ァ-ヴ]+/u'; if(!preg_match($pattern,$comment_data['comment_content'])) { err('写点汉字吧,博主外语很捉急!You should type some Chinese word!'); } if(preg_match($jpattern, $comment_data['comment_content'])){ err('日文滚粗!Japanese Get out!日本語出て行け! You should type some Chinese word!'); } return( $comment_data ); } if( dopt('d_spamComments_b') ){ add_filter('preprocess_comment','refused_spam_comments'); }
这段代码可以让评论必须包含中文且不包含日文,纯英文也不行。当然如果你和国际友人有来往。就别弄了。
如果你使用的是Ajax无刷新评论可能会出现页面错位等。把上面的代码中的wp_die
换成err
即可。
使用上面这几招应该可以屏蔽绝大部分的垃圾评论了。如果你又更好的方法,欢迎在下面评论里分享。
(资源库 www.zyku.net)
栏 目:WordPress
下一篇:WordPress短代码实现移动设备上内容不可见的方法
本文标题:WordPress三招教你快速屏蔽WordPress垃圾评论
本文地址:https://www.zyku.net/wp/1042.html
您可能感兴趣的文章
- 03-04wordpress防止垃圾评论的几种方法
- 03-04wordpress英文站点将评论中带有长链接的评论标记为垃
- 01-13Dedecms实现tags云标签随机颜色与字体
- 03-31CentOS 7 开机/etc/rc.local 不执行的
- 09-16国家医保服务平台添加家庭成员方法介
- 12-19HTML <legend> 标签
- 01-21乐心手环mambo如何连接手机
- 02-27帝国CMS自定义内容页存放目录的方法
- 01-11小米12Pro如何设置边缘防误触
- 01-11脸萌相机-脸萌相机应用软件功能介绍
- 03-22华为手机输入法剪贴板打开方法
- 01-03模拟来电大师-模拟来电大师应用软件功
- 12-28一级建筑师丰题库-一级建筑师丰题库应
- 11-02苹果13锁屏开手电筒方法介绍
- 08-13网易云音乐扫一扫功能入口在哪里?
- 02-18详解清除MongoDB所占用的多余的磁盘空
- 01-13Dedecms网站给图片alt属性自动调用标
- 12-31小学语文课堂笔记-小学语文课堂笔记应
- 11-04QQ音乐领取听歌专属宠物玩法分享
- 01-11洋葱韩语-洋葱韩语应用软件功能介绍
最近更新
阅读排行
猜你喜欢
- 02-04oppoa72启用5g网络教程
- 01-10全能WiFi助手尚麦-全能WiFi助手尚麦应
- 12-29洋芋买买-洋芋买买应用软件功能介绍
- 02-18Oracle使用触发器和mysql中使用触发器
- 02-17正则验证不能含有中文的实现方法【jQu
- 11-12轻颜相机进入草稿箱步骤分享
- 04-16Dedecms修改MySql端口号的方法
- 11-19天猫精灵如何开机
- 01-12华为p50pro如何设置指关节截屏
- 12-17iphone11怎么放大画面