WordPress网站禁止英文评论的解决方法
国庆假期里大家是不是也搬砖了?博主已经开始继续更新了。今天讲讲WordPress垃圾评论的解决办法,很多垃圾评论大部分是英文的,要知道,外国人也需要做网络推广的。很多垃圾评论,即使网站用了Akismet都不能完全屏蔽哦。
一般中文的评论还是比较容易被屏蔽掉的,被刷评论会消耗非常多的流量而且会让服务器不稳定,访客浏览你的博客看到评论上面有几百页的垃圾评论我觉得他不会在继续访问下去的,我们要怎么阻止这样悲剧发生在自己的身上呢?
禁止全英文评论
进入当前使用主题的目录下面,打开函数文件functions.php,添加如下代码:
// 禁止全英文评论,由XX博客整理,转载注明出处。
function scp_comment_post( $incoming_comment ) {
$pattern = '/[一-龥]/u';
if(!preg_match($pattern, $incoming_comment['comment_content'])) {
wp_die( "XX blog is a Chinese blog, so you should enter some of the Chinese, thank you!
<br />由于偶的博客是一个中文博客,所以您应该输入一些中文,谢谢!!" );
}
return( $incoming_comment );
}
add_filter('preprocess_comment', 'scp_comment_post');
// 禁止全英文评论,结束
禁止指定内容全英文
WordPress评论中第一要过滤的是全英文的垃圾内容了,这个简单我们只要检查包括汉字就可以了,还有时我们希望有些敏感字不让提交,只要一个简单的过滤函数即可.有很多朋友可能会发现有大量的英文垃圾论内容,下面给个函数,代码如下:
<?php
function scp_comment_post( $incoming_comment ) {
$pattern = '/[一-?]/u';
// 禁止全英文评论
if(!preg_match($pattern, $incoming_comment['comment_content'])) {
wp_die( "You should type some Chinese word (like "你好") in your comment to pass the spam-check, thanks for your patience! 您的评论中必须包含汉字!" );
}
return( $incoming_comment );
}
?>
以下代码禁止许评论中包含 <a 随便 href=" 或者rel="nofollow"或者http://,你也可以根据自己的需要修改,代码如下:
function lianyue_comment_post( $incoming_comment ) {
$http = '/[href="|rel="nofollow"|http://|</a>]/u';
if(preg_match($http, $incoming_comment['comment_content'])) {
wp_die( "万恶的发贴机!" );
}
return( $incoming_comment );
}
add_filter('preprocess_comment', 'lianyue_comment_post');
注意,代码添加完成后用UTF-8的格式保存把文件保存上传会空间里,记得把空间里面的原始文件重命名,这样即使操作错了还可以挽回,这个方法就可以让大家避免垃圾评论的侵害。


徐伟轩博客-爱写歌的程序员思考和科普的日常自媒体
https://letus.top/archives/39.html(转载时需注明本文出处及文章链接)
如需转载或刊登,请联系我们获得授权。