WordPress评论文字自动替换

标签:WordPress教程
如需帮忙改代码,或者WordPress二次开发、PHP网站建设等需求,可联系我购买付费服务:  点此联系我
文章目录

    如果你的WordPress博客是搭建在国内的主机上,那么你得注意一下你的网站内容了,必须接受国内相关机构的监管,如果你的网站如果出现了某某非法关键字,那么你的网站可能很快就要被关停了。当然这只是一方面,WordPress的文章评论区是一个相对自由的地方,你可能很难监管到,还可能会出现一些庸俗、谩骂的内容,你可以将这些给替换掉,不必删除整条评论,这样既可以继续开启评论功能,又可以消除影响。

    之前我写的插件WordPress评论过滤插件 – 大篱,就有这样的一个功能,但这是一个多合一功能的插件,可能你只需要其中的评论关键字过滤功能,那么你可以选择以下任一方法操作:

一、评论显示时替换

    此方法不会更改评论的原始内容,只会在评论显示给访客时替换相应的关键字,你在后台看到的仍然是评论的原文。在主题目录下的functions.php中将最后一个 ?> 替换成:

/**
 * 名称:WordPress评论文字自动替换
 * 作者:露兜
 * 博客:https://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行中这里填替换规则替换成你自己的规则,规则请按以下格式填写:

关键字A->替换A || 关键字B->替换B || 关键字C->替换C

    关键字A在实际显示时将被替换成替换A,依此类推,多个替换规则之间请用 || 隔开。示例:

$words = '傻逼->牛逼 || shit->haha';

二、评论添加时替换

    此方法将直接替换访客发布的评论内容,数据库中存储的评论就是替换后的内容,在主题目录下的functions.php中将最后一个 ?> 替换成:

/**
 * 名称:WordPress评论文字自动替换
 * 作者:露兜
 * 博客:https://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' );
?>

    替换规则的书写方式请参考以上的方法一。

-- 完 --

本文采用 「CC BY-NC-SA 4.0」创作共享协议,转载请标注以下信息:
原文出处:露兜博客 https://www.ludou.org/wordpress-comment-text-replace.html
露兜
kaapass@outlook.com  QQ 825533758

业余编程爱好者,主业是淘宝店主,卖些工艺品,感兴趣可以到我的淘宝店看看(旺旺不提供技术咨询):西西弗sisyphe