wordpress如何屏蔽垃圾评论?
使用技巧 2014-12-03 3223 1 评论 admin

现在的互联网垃圾内容实在太多,特别是网站的垃圾评论更是满天飞,那么如何屏蔽这些垃圾评论呢?有的朋友会说,在wordpress网站程序安装好之后会默认自带有一个防垃圾评论的插件(Akismet),但是这个插件注册激活比较麻烦,下面给大家分享三个简单快速屏蔽垃圾评论的方法。
1、首先第一个方法是非常好用的一种,可以屏蔽含有某关键词的评论。
方法:把下面的代码复制粘贴到当前主题的functions.php函数文件里,然后到网站后台的“设置-讨论-评论黑名单”里填写您不想出现的关键词,请根据系统提示填写。

//禁止垃圾评论提交到数据库

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?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');
?>

2、第二种方法就是用限制评论的字数来控制垃圾评论,这个方方法比第一种稍差一点。
方法:把下面的代码复制粘贴到当前主题的functions.php函数文件里,然后根据您自己的需要修改一下评论的最少字数,用来限制垃圾评论。

//限制WordPress评论最少字数

1
2
3
4
5
6
7
8
9
10
<?php
function limit_comment_length( $commentdata ){
$minlength = 12;//评论最少字数
preg_match_all( '/./u', trim( $commentdata['comment_content'] ), $maxlength );
$maxlength = count( $maxlength[0] );
if( $maxlength &lt; $minlength ) wp_die( '评论最到要 ' . $minlength . ' 字才能提交!' );
return $commentdata;
}
add_filter( 'preprocess_comment', 'limit_comment_length', 8 );
?>

2.1如果您在限制评论的最少字数的同时也想控制一下最多字数,那么请使用第三种方法。
方法:把下面的代码复制粘贴到当前主题的functions.php函数文件里,然后修改一下最少字数和最多字数就可以了。

//评论字数限制

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
function limit_comment_length( $commentdata ) {
$minCommentlength = 5; //最少字数限制
$maxCommentlength = 200; //最多字数限制
$pointCommentlength = mb_strlen($commentdata['comment_content'],'UTF8'); //mb_strlen 1个中文字符当作1个长度
if ( $pointCommentlength &lt; $minCommentlength )
{
header("Content-type: text/html; charset=utf-8");
wp_die('抱歉,评论最少要求' . $minCommentlength .'个字(已输入'. $pointCommentlength .'个字)');
exit;
}
if ( $pointCommentlength &gt; $maxCommentlength )
{
header("Content-type: text/html; charset=utf-8");
wp_die('抱歉,评论不得超过' . $maxCommentlength .'个字(已输入'. $pointCommentlength .'个字)');
exit;
}
return $commentdata;
}
add_filter( 'preprocess_comment', 'limit_comment_length' );
?>

3、一般在wordpress里发表垃圾评论的都是一些国外的网站,下面这种方法要吧屏蔽掉纯英文或日文的评论。
方法:把下面的代码复制粘贴到当前主题的functions.php函数文件里

//评论过滤

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?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');
}
?>

上面三种方法经过测试,都非常的好用。希望对大家有所帮助!

继续浏览有关: , 的文章
版权声明:版权归 wp仿站之家 所有,转载请注明出处!
转载请保留链接: http://www.linw.net/372.html
联系wp仿站之家:5946394#qq.com (#改为@)
wp仿站微信公众号:linw_net
官网淘宝店:http://shop111710277.taobao.com/
wp仿站之家
手机扫一扫
进淘宝店铺选购主题

用心做最好的主题网站wp仿站之家

wp仿站之家是一个专业的wordpress仿站业务网站,提供wordpress主题模板下载以及seo网站优化服务,诚信经营,用心服务每一个客户,让您放心享受我们的优质服务。同时,也欢迎各位建站爱好者加入我们交流建站经验心得。

上一篇: 下一篇:

1则回应给“wordpress如何屏蔽垃圾评论?”

  1. 菱镁板说道:

    好文章,内容惜墨如金.禁止此消息:nolinkok@163.com

发表评论

服务咨询