一、优化背景
最近不少外国"友人"在本小站刷广告评论,内容都是关于各种付费 Web 聊天插件、电话聊天插件和 SEO 的推广信息,不禁感叹,现在都 4202 年了,这些互联网古早时期的插件在国外竟然还在收费,看打广告的节奏还有不少人使用,属实是魔幻了。感慨之余,面对这满屏的牛皮癣似的纯英文广告,有必要采取点措施抑制一下了。
P1.外国"友人"的牛皮癣广告
二、限制方法
通过钩子函数对评论文本进行检测,拒绝提交不含中文字符的纯英文评论。
三、代码实现
functions.php 文件中添加如下代码:
//拒绝提交纯英文评论
function refused_spam_comments( $comment_data ) {
$pattern = '/[一-龥]/u';
if(!preg_match($pattern,$comment_data['comment_content'])) {
wp_die('<span style="background:red;color:#fff;">提交失败,评论必需含中文!<br />Failure to submit comments , please DO NOT post advertising information !</span>');
}
return( $comment_data );
}
add_filter('preprocess_comment','refused_spam_comments');
三、效果验证
清理浏览器缓存,重新打开文章页面,在评论区输入纯英文字符,提交时将被自动拦截并提示如下:
P2.纯英文(广告)评论被自动拦截并标红提示