前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >拒绝全英文垃圾评论!仅用代码实现

拒绝全英文垃圾评论!仅用代码实现

作者头像
Jeff
发布2018-01-19 10:23:54
9130
发布2018-01-19 10:23:54
举报
文章被收录于专栏:DeveWork

从无人问津到略有评论,再到垃圾评论的“空袭”,这大概是每个wordpress博主都会经历的事。对付垃圾评论,一般人通常是安装wordpress官方的Akismet插件。

但是你应该发现,这些垃圾评论绝大部分是全英文的评论;再说到Akismet插件的误伤率是在是太大,且耗服务器资源。其实我们只要屏蔽全英文的评论就可以了(毕竟你个中文博客还有老外成为你的读者?),而这在实现方面是在是简单,又是添加几行代码就行了。减少一插件,何乐而不为?

下面Jeff就为大家带来无插件仅代码实现拒绝全英文垃圾评论的方法。

打开主题目录下的funtions.php,就在最后一个 ?>加入如下的代码:

代码语言:js
复制
<!--?php <br ?--> // 禁止全英文评论
add_theme_support('automatic-feed-links'); // Add default posts and comments RSS feed links to head
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 );
}
add_filter('preprocess_comment', 'scp_comment_post');
?>

如果使用的是Ajax 评论,需要将wp_die 改为 err ,不然页面会有错位现象。

保存后就完成了。试着输入全英文评论,你看看显示什么?

效果如下面:

You should type some Chinese word (like \”你好\”) in your comment to pass the spam-check, thanks for your patience! 您的评论中必须包含汉字!

哈哈!又一个插件宣告“退役”!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2013/03/03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档