垃圾站 WP教程 WordPress博客通过限制评论字数防止垃圾评论骚扰

WordPress博客通过限制评论字数防止垃圾评论骚扰

WordPress博客防垃圾评论技巧:通过限制评论字数防止垃圾评论骚扰。

俗话说,防的了日文垃圾评论,防的了英文垃圾评论,防的了带链接的垃圾评论,就是防不了最普通的中文垃圾评论,怎么办?

垃圾站博主最近发现一些群发的中文垃圾评论都是事先采集好一些小说片段后者笑话片段然后带上网址批量群发到wordpress上,对于这种评论关键词黑名单就很难屏蔽住了,不过通过观察可以看出这类评论一般都是长篇大论的垃圾评论,所以可以通过限制评论的字数来达到屏蔽垃圾评论的效果!

代码如下,添加到当前主题的 functions.php 中,注意修改最少字数限制和最多字数限制:

[php]
//评论字数限制
function lajiz_comment_length( $commentdata ) {
$minCommentlength = 10; //最少字数限制
$maxCommentlength = 40; //最多字数限制
$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 .’个字)<a href="javascript:history.go(-1);">返回文章页</a>
‘);
exit;
}
if ( $pointCommentlength > $maxCommentlength )
{
header("Content-type: text/html; charset=utf-8");
wp_die(‘
抱歉,您的评论太长了,请少于’ . $maxCommentlength .’个字(已输入’. $pointCommentlength .’个字)<a href="javascript:history.go(-1);">返回文章页</a>
‘);
exit;
}
return $commentdata;
}
add_filter( ‘preprocess_comment’, ‘lajiz_comment_length’ );
[/php]

效果图如下:

WordPress博客通过限制评论字数防止垃圾评论骚扰插图

结合关键词屏蔽,IP地址屏蔽,非中文屏蔽垃圾评论等措施后,添加了字数限制屏蔽手段,垃圾评论从最多的一天上千条到现在几乎没有!不过防垃圾评论任重道远,他们也会升级变换!到时候博主们再发挥自己的才能屏蔽垃圾评论吧!

测试时如果出现wp模板错位现象,请将上述代码中的wp_die更改为err即可。代码如下:

[php]
//评论字数限制
function lajiz_comment_length( $commentdata ) {
$minCommentlength = 10; //最少字数限制
$maxCommentlength = 40; //最多字数限制
$pointCommentlength = mb_strlen($commentdata[‘comment_content’],’UTF8′); //mb_strlen 1个中文字符当作1个长度
if ( $pointCommentlength < $minCommentlength )
{
header("Content-type: text/html; charset=utf-8");
err(‘
抱歉,您的评论太短了,请至少输入’ . $minCommentlength .’个字(已输入’. $pointCommentlength .’个字)<a href="javascript:history.go(-1);">返回文章页</a>
‘);
exit;
}
if ( $pointCommentlength > $maxCommentlength )
{
header("Content-type: text/html; charset=utf-8");
err(‘
抱歉,您的评论太长了,请少于’ . $maxCommentlength .’个字(已输入’. $pointCommentlength .’个字)<a href="javascript:history.go(-1);">返回文章页</a>
‘);
exit;
}
return $commentdata;
}
add_filter( ‘preprocess_comment’, ‘lajiz_comment_length’ );
[/php]

上一篇
下一篇
联系我们

联系我们

返回顶部