为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

WordPress屏蔽垃圾评论

2018-02-04 4页 doc 40KB 5阅读

用户头像

is_196623

暂无简介

举报
WordPress屏蔽垃圾评论WordPress屏蔽垃圾评论 最近一段时间被垃圾评论搞的头疼,要是隔几天没有登录后台的话,就会有上百条甚至几百条垃圾评论等待着你删除,因为评论里有一部分是真实的,所以在删除垃圾评论的过程中需要仔细一些,防止将读者的真实评论误删掉,有几次光清理垃圾评论就花了半小时左右的时间,让人叫苦连天啊。 前段时间我写了一篇《如何屏蔽wordpress的垃圾英文评论》的文章,这个方法主要针对全英文的垃圾评论,如果垃圾评论里没有中文就会自动屏蔽,刚开始效果的确不错,几乎大部分的垃圾评论都屏蔽掉了(那段时间主要是英文垃圾评论),可后来好像专...
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屏蔽垃圾评论】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索