WordPress技巧:合并路人的评论过滤插件到主题 – 千丝海阁

首页 » Wordpress » WordPress技巧:合并路人的评论过滤插件到主题

WordPress技巧:合并路人的评论过滤插件到主题

4136 23

自从帮路人同学测试他的评论过滤插件以来,见《推荐一款国人原创的垃圾评论插件wp-itluren-comment-filter》,该插件一直在后台默默运行着,已经超过1个月了,拦截了不少鸟语和岛国的垃圾评论。作为一个热衷于折腾wordpress的并且有点写代码能力的tiandi来说,基本上不怎么使用非自己写的插件,除非是特别官方的的或者特别设置复杂的,比如sitemap这类有N多选项要填的。所以趁着下午有点时间,就把路人的评论插件用代码的形式加在了主题的functions里,顺便舍去了一些用不到的功能:

1.删除用户昵称限制

2.删除用户邮箱限制

3.删除用户网站限制

4.删除当日用户评论数限制

5.删除评论字数限制

6.删除IP限制

7.保留必须输入中文

8.保留不允许用纯文章内容作为评论

9.保留评论内容黑名单

10.增加用户白名单

将以下代码插入functions.php中即可。

//评论过滤 合并wp-itluren-comment-filter插件
function my_comment_filer($commentdata){
	$comment_nickname_whitelist= explode("||",stripslashes(get_theme_mod('no_comment_filter')));
	$flag = 0;
	for($i=0;$i<count($comment_nickname_whitelist);$i++){
		if($commentdata["comment_author"] == $comment_nickname_whitelist[$i]){
			$flag = 1;
			break;
		}
	}
	if($flag == 0) {
		$comment_pattern= '/[一-龥]/u';
		if(!preg_match($comment_pattern,$commentdata['comment_content'])){
			wp_die('天朝规定,必须有天朝文字出现在评论中方准通过,你懂的……');
		}
		$post_content_commented=get_post($commentdata["comment_post_ID"])->post_content;
		if($post_content_commented!=''){
			if(stristr($post_content_commented,$commentdata["comment_content"])!=false)
				wp_die('请认真评论,不要单纯复制文章片段作为评论全部内容……');
		}
		$comment_content_backlist = explode("||",stripslashes(get_theme_mod('comment_filter')));
		if(!empty($comment_content_backlist)&&$comment_content_backlist[0]!=''){
			for($i=0;$i<count($comment_content_backlist);$i++){
				if(stristr($commentdata["comment_content"],$comment_content_backlist[$i])!=false){
					$deny = $comment_content_backlist[$i];
					wp_die('对不起,你的评论内容(' .$deny .')已经被禁止评论,如果有疑问,请联系管理员……');
				}
			}
		}
	}
	return $commentdata;
}
add_filter('preprocess_comment','my_comment_filer');

PS:上文代码内get_theme_mod(‘no_comment_filter’)等,tiandi都已经在主题选项中各自定义。如您想直接使用上述代码,则需要自行调整该部分代码。

文章评分1次,平均分5.0



上一篇:推荐一个在线去除图片背景的网站
下一篇:js特效:利用SwatchBook建立评论最多的用户的排行榜

本文原始地址:http://www.tiandiyoyo.com/2013/07/comment-filter-noplugin/
本站所有文章,除了特别注明外,均为本站原创,转载请注明出处来自www.tiandiyoyo.com

您可能还会对以下文章感兴趣:

    没有相关的文章

评论前先开启评论开关:


23 Comments

  1. 这样会降低很多无话可说时想法的评论。

  2. 这个主题的手机体验真好

  3. 我可以考虑把这加入主题了,然后干掉插件,我用了好多插件。。。。。

  4. 冰凌 :

    这种方法还不错

  5. 首页布局变了,内容很不做

  6. 我主要是担心会不会影响到正常评论…

    • tiandi :

      这个属于主动拦截,当输入的内容不符合设定时,输入的用户会立即得到拒绝的信息。如果不是机器人的话,很容易判别出是哪里的问题。

  7. 主题集成插件是一种趋势,我学习下代码嘿嘿。哦,还发现这次评论还没写,开关按钮已经是“On”状态了,这也是人性化了么

  8. 神父 :

    好彪悍,再加上检测到垃圾邮件发动反攻,找个不限流量的VPS来轰炸对方IP

  9. 垃圾评论的确是个大问题,不过还是人盯着靠谱。

  10. FROYO :

    又写新插件了,真强悍

  11. 研究一下,跟博主时候的一样,一直被岛国的很多垃圾骚扰

  12. 我没使用这个,只是拦截了全英文的评论,可恶的是岛国的垃圾评论依旧来骚扰

  13. 其实有个插件可以做到,不用去管理垃圾评论。。。Spam Free WordPress

  14. 很强大啊,之前没启用插件,确实有很多垃圾评论,后来用SCP之后就没了垃圾评论,后来。。。后来就懒得折腾再换了

载入分页评论...