欢迎您访问我爱IT技术网,今天小编为你分享的电脑教程是建站经验系列之:【WordPress屏蔽垃圾评论】,下面是详细的分享!
WordPress屏蔽垃圾评论
最近一段时间被垃圾评论搞的头疼,要是隔几天没有登录后台的话,就会有上百条甚至几百条垃圾评论等待着你删除,因为评论里有一部分是真实的,所以在删除垃圾评论的过程中需要仔细一些,防止将读者的真实评论误删掉,有几次光清理垃圾评论就花了半小时左右的时间,让人叫苦连天啊。
前段时间我写了一篇《如何屏蔽wordpress的垃圾英文评论》的文章,这个方法主要针对全英文的垃圾评论,如果垃圾评论里没有中文就会自动屏蔽,刚开始效果的确不错,几乎大部分的垃圾评论都屏蔽掉了(那段时间主要是英文垃圾评论),可后来好像专门跟我作对一样,英文里开始带中文了,而且频率越来越高,实在没办法,所以决心一定要找一个有效的方法把这些烦人的评论拦截掉。下面是垃圾评论的一些截图:


在WordPress大学里,我找到了作者一直在用一个方法,据说可以屏蔽掉98%以上的垃圾评论,用了几天,效果确实不错,偶尔有几个漏网之鱼,手动删一下也不费事。方法:将下面这串代码粘贴到functions.php文件的最后一个 ?>前面即可:
// 垃圾评论拦截
class anti_spam {
function anti_spam() {
if ( !current_user_can('level_0') ) {
add_action('template_redirect', array($this, 'w_tb'), 1);
add_action('init', array($this, 'gate'), 1);
add_action('preprocess_comment', array($this, 'sink'), 1);
}
}
function w_tb() {
if ( is_singular() ) {
ob_start(create_function('$input','return preg_replace("#textarea(.*?)name=([\"\'])comment([\"\'])(.+)/textarea>#",
"textarea$1name=$2w$3$4/textarea>",$input);') );
}
}
function gate() {
if ( !empty($_POST['w']) && empty($_POST['comment']) ) {
$_POST['comment']=$_POST['w'];
} else {
$request=$_SERVER['REQUEST_URI'];
$referer=isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '隐瞒';
$IP=isset($_SERVER["HTTP_X_FORWARDED_FOR"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] . ' (透过代理)' : $_SERVER["REMOTE_ADDR"];
$way=isset($_POST['w']) ? '手动操作' : '未经评论表格';
$spamcom=isset($_POST['comment']) ? $_POST['comment'] : null;
$_POST['spam_confirmed']="请求: ". $request. "\n来路: ". $referer. "\nIP: ". $IP. "\n方式: ". $way. "\n內容: ". $spamcom. "\n -- 记录成功 --";
}
}
function sink( $comment ) {
if ( !empty($_POST['spam_confirmed']) ) {
if ( in_array( $comment['comment_type'], array('pingback', 'trackback') ) ) return $comment;
//方法一: 直接挡掉, 將 die(); 前面两斜线刪除即可.
die();
//方法二: 标记为 spam, 留在资料库检查是否误判.
//add_filter('pre_comment_approved', create_function('', 'return "spam";'));
//$comment['comment_content']="[ 小墙判断这是 Spam! ]\n". $_POST['spam_confirmed'];
}
return $comment;
}
}
$anti_spam=new anti_spam();
除了使用这个方法,还可以结合WordPress本身自带的一些功能,比如设置指定关键词拦截,在设置-讨论下,将一些广告中使用频率较高的词汇写在里面,比如:广告、淘宝、垃圾、裸体、减肥、美容等,这些双管齐下,效果自然更佳。
以上所分享的是关于WordPress屏蔽垃圾评论,下面是编辑为你推荐的有价值的用户互动:
相关问题:wordpress为什么有垃圾评论
答:WordPress是现在使用非常广泛的博客程序。也使用wordpress搭建自己的的博客。wordpress是从国外传过来的,wordpress也是国外SEO们使用最多的程序。相信您在使用了不长时间之后,就会发现好多垃圾评论随机而来。如下图,自己博客的后台垃圾评论截... >>详细
相关问题:如何防止wordpress博客被垃圾评论污染
答:后台进行评论审核才能发布,或者使用多说评论插件等进行限制 >>详细
相关问题:如何删除wordpress 评论框
答:用Dreamweaver或者其它软件在整个代码目录中搜索. 在主题的各个文件都有可能出现. 删了之后还要禁止评论,否则垃圾评论照来不误(不需要评论框,直接post提交的). >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
