禁止黑名单中的评论提交到数据库
将下面的代码放到你主题的functions.php中:
//禁止垃圾评论提交到数据库
function uedsc_fuckspam($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('您评论可能包含广告,或者您的IP已被加入黑名单!');
} else {
return $comment;
}
}
add_filter('preprocess_comment', 'uedsc_fuckspam');
设置wordpress评论黑名单关键词:登陆 -> 设置 -> 讨论,即可看到评论黑名单了。
限制评论字数防止垃圾评论骚扰
代码如下,添加到当前主题的 functions.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 .'个字)javascript:history.go(-1);">返回文章页
');
exit;
}
if ( $pointCommentlength > $maxCommentlength )
{
header("Content-type: text/html; charset=utf-8");
wp_die('
抱歉,您的评论太长了,请少于' . $maxCommentlength .'个字(已输入'. $pointCommentlength .'个字)返回文章页
');
exit;
}
return $commentdata;
}
add_filter( 'preprocess_comment', 'lajiz_comment_length' );
结合关键词屏蔽,IP地址屏蔽,非中文屏蔽垃圾评论等措施后,添加了字数限制屏蔽手段,垃圾评论从最多的一天上千条到现在几乎没有!不过防垃圾评论任重道远,他们也会升级变换!到时候博主们再发挥自己的才能屏蔽垃圾评论吧!
测试时如果出现wp模板错位现象,请将上述代码中的wp_die更改为err即可。代码如下:
//评论字数限制
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 .'个字)返回文章页
');
exit;
}
if ( $pointCommentlength > $maxCommentlength )
{
header("Content-type: text/html; charset=utf-8");
err('
抱歉,您的评论太长了,请少于' . $maxCommentlength .'个字(已输入'. $pointCommentlength .'个字)返回文章页
');
exit;
}
return $commentdata;
}
add_filter( 'preprocess_comment', 'lajiz_comment_length' );
JA5A 正则表达式陈广佳版本(超详细)
Linux Lite 6.4今日发布基于 Ubuntu 22.04.2 LTS/原生应用支持 Zstd 压缩
0.1秒的价值!浅谈Web前端页面提速问题实用指南
Linux 6.3发布第4个候选版本 diffstat占比超过50%
linux无法识别ntfs格式U盘怎么办? 解决linux不识别nfst格式u盘问题技巧
Linux Mint 21.2 将于 6 月发布 主要改进了登录屏幕