WordPress评论文字自动替换
如果你的WordPress博客是搭建在国内的主机上,那么你得注意一下你的网站内容了,必须接受国内相关机构的监管,如果你的网站如果出现了某某非法关键字,那么你的网站可能很快就要被关停了。当然这只是一方面,WordPress的文章评论区是一个相对自由的地方,你可能很难监管到,还可能会出现一些庸俗、谩骂的内容,你可以将这些给替换掉,不必删除整条评论,这样既可以继续开启评论功能,又可以消除影响。
之前我写的插件WordPress评论过滤插件 – 大篱,就有这样的一个功能,但这是一个多合一功能的插件,可能你只需要其中的评论关键字过滤功能,那么你可以选择以下任一方法操作:
一、评论显示时替换
此方法不会更改评论的原始内容,只会在评论显示给访客时替换相应的关键字,你在后台看到的仍然是评论的原文。在主题目录下的functions.php中将最后一个 ?> 替换成:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | /** * 名称:WordPress评论文字自动替换 * 作者:露兜 * 博客:http://www.ludou.org/ * 最后修改:2011年2月20日 */ function dali_conents_replace($incoming_comment) { $words = '这里填替换规则'; $rules = explode('||', $words); foreach($rules as $rule) { $word = explode('->', trim($rule)); if(isset($word[1])) $incoming_comment = str_replace(trim($word[0]), trim($word[1]), $incoming_comment); } return $incoming_comment; } add_filter( 'comment_text', 'dali_conents_replace' ); add_filter( 'comment_text_rss', 'dali_conents_replace' ); ?> |
请将以上代码中第2行中这里填替换规则替换成你自己的规则,规则请按以下格式填写:
1 | 关键字A->替换A || 关键字B->替换B || 关键字C->替换C |
关键字A在实际显示时将被替换成替换A,依此类推,多个替换规则之间请用 || 隔开。示例:
1 | $words = '傻逼->牛逼 || shit->haha'; |
二、评论添加时替换
此方法将直接替换访客发布的评论内容,数据库中存储的评论就是替换后的内容,在主题目录下的functions.php中将最后一个 ?> 替换成:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | /** * 名称:WordPress评论文字自动替换 * 作者:露兜 * 博客:http://www.ludou.org/ * 最后修改:2011年2月20日 */ function dali_conents_replace($incoming_comment) { $words = '这里填替换规则'; $rules = explode('||', $words); foreach($rules as $rule) { $word = explode('->', trim($rule)); if(isset($word[1])) $incoming_comment['comment_content'] = str_replace(trim($word[0]), trim($word[1]), $incoming_comment['comment_content']); } return $incoming_comment; } add_filter( 'preprocess_comment', 'dali_conents_replace' ); ?> |
替换规则的书写方式请参考以上的方法一。
本文版权归露兜博客所有,转载引用请完整注明以下信息:
本文作者:Ludou
本文标题:WordPress评论文字自动替换
本文地址:http://www.ludou.org/wordpress-comment-text-replace.html
哈哈哈,这替换。。原本夸奖博主“牛b”的,博主也会一肚子郁闷~~
唉,以后都要用组列阵服务器来储存特殊的关键词了~
真要做到相关方面满意,我看只有把那个强大的关键词过滤系统共享出来做个无敌插件
怎么我感觉有点看不太懂啊
怎么我感觉你是为了打广告而评论的啊
哈哈哈~这帮子牛人~
好东西啊!
简单实用。不过还是要人工审核的。
同样适合在国外的用户,国外对版权更加重视,感谢分享!
非常实用的东西!
这个是越来越重要的。
就算主机放在国外,只要用户是在国内的还是应该加强管理一下评论。
毕竟这些不是自己意料中的内容。
敏感词多了,触发了房伙强屏蔽也很麻烦。
建议搞一个和谐词表啊,这样自己想想不出几个,这个意义就不大了啊
需要评论审核就可以啦
求 和谐词表
傻逼,555555,ludou别怪我,我是想尝试下有没有效果哈。
本站没有开启此功能
楼主,请问下为什么我用了你的代码后会500错误那?我同时也用了别的在网上找的替换文章内容的一个代码,请问是不是冲突那?如果冲突需要如何整合那?
[php]
<?php
function replace_text_wps($text){
$replace = array(
// '替换前的内容' => '替换后的内容'
'替换前内容' => '替换后内容',
);
$text = str_replace(array_keys($replace), $replace, $text);
return $text;
}
add_filter('the_content', 'replace_text_wps');
add_filter('the_content', 'replace_text_wps');
?>
[/php]
add_filter(‘the_content’, ‘replace_text_wps’);
add_filter(‘the_content’, ‘replace_text_wps’);
删除以上任一行代码,你的代码是替换文章内容的。
500是服务器级别的错误。