教你如何屏蔽WordPress垃圾评论的方法

WordPress去掉多说评论之后,经常有各种垃圾评论出现在后台。不堪其扰,于是去找了一些办法来解决这个问题。一般都是说加一些屏蔽过滤的函数之类的。其实都差不多。不过有些特别长的就显得有点累赘了。

教你如何屏蔽WordPress垃圾评论的方法

今天分享几个实用小代码吧。我都用过,而且效果还不错。大家也可以试试,不错可以收藏一下。

第一种

禁止非法词汇评论提交到数据库 把下边的代码放到当前主题的 functions.php 里,然后在后台“讨论”中设置你的黑名单即可。

//全百科网http://www.quanbaike.com/
//禁止垃圾评论提交到数据库
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', 'v7v3_fuckspam');

当评论的内容、评论者名称、URL、电子邮件或IP地址中包含其中任何关键字时,系统将会禁止提交到数据库。

一行一个关键字或IP地址。WordPress也会在词中匹配关键字,例如“press”亦将匹配“WordPress”。

第二种

限制WordPress评论字数 首先把下边的代码放到当前主题的 functions.php 里,注意修改最小字数:

//全百科网http://www.quanbaike.com/
//限制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', 'Bing_minimal_comment_length', 8 );

此代码还支持中文字数。这段代码可以限制WordPress评论的最少字符数。

当然,如果你觉得太多了也不行,还可以试试下面这段代码。效果更佳。

//全百科网http://www.quanbaike.com/
//评论字数限制
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', 'v7v3_comment_length' );

加上评论字数限制以及关键词屏蔽后已经可以屏蔽大部分垃圾评论了。这个你可以自己试试看。

还有评论怎么办?看看下面这个终极杀手锏!

第三种

WordPress评论过滤日文字符和纯英文 还是把代码放到当前主题的 functions.php 里即可。两函数还可拆开执行。效果差不多。

//全百科网http://www.quanbaike.com/
//评论过滤
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即可。

使用上面这几招应该可以屏蔽绝大部分的垃圾评论了。如果你又更好的方法,欢迎在下面评论里分享。

原文链接:http://www.quanbaike.com/news/2749.html

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏FreeBuf

Python-Iocextract:高级入侵威胁标识符IoC提取工具

Python-Iocextract是一款高级入侵威胁标识符IoC提取工具,它可以从文本语料库提取URL、IP地址、MD5/SHA哈希、电子邮件地址和YARA规则...

17430
来自专栏前端小叙

charles代理设置与数据劫持

1、安装charles,点击帮助——ssl代理——在移动设备或远程浏览器上安装charles root证书,看到如下界面:

19330
来自专栏Jerry的SAP技术分享

How is correct index.html served by ui5 handler from BSP repository

This wiki explains the process how the index.html of Fiori application is served...

9820
来自专栏wordpress建站吧

wordpress媒体库超高像素大尺寸图片上传出现http错误解决办法

今天遇到一个人反馈wordpress上传图片失败,但是我测试却可以传图, 后来反复排查是它上传的图片过大的像素导致的是8000*5000px的像素,换小图片上传...

12320
来自专栏深圳java培训

深圳Java培训:使用AOP功能和ThreadLocal类实现自定义事务管理

首先,需要理解ThreadLocal类的作用。ThreadLocal是为了在同一个线程中共享数据,具体原理可以参考源代码,如下: public void set...

10910
来自专栏云服务器999+

如何使用腾讯云服务器搭建个人网站?

https://cloud.tencent.com/redirect.php?redirect=1042&cps_key=6f5f5aedea72d213ca3...

2.8K10
来自专栏华章科技

33关Python游戏,你能闯到第几关?

我们平常学 Python 都是按章节顺序、包或者模块来学,容易前学后忘。正好可以拿这个网站来综合测试一下对 Python 的掌握情况,以便查缺补漏。

26640
来自专栏wordpress建站吧

wordpress建站适合哪些类型的站点?

wordpress目前被广泛使用在全球的各个领域建站,我们今天就来总结一下哪些类型的站点比较适合选择wordpress来建站吧。

13810
来自专栏搜狗测试

初识Nginx性能安全优化

最近小编的项目上线了官方网站,同大部分Web服务网站相同,小编项目的Web站采用了LNMP(Linux、Nginx、Mysql、PHP)架构。其中Nginx的作...

8210
来自专栏波波烤鸭

SpringCloud-Zuul服务网关[介绍及入门案例]

  zuul 是netflix开源的一个API Gateway 服务器, 本质上是一个web servlet应用。   Zuul 在云平台上提供动态路由,监控...

32320

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励