WordPress 纯代码拦截英文、日文垃圾评论的方法

这段时间都在纠结网站搜索引擎收录不佳的问题,这里没什么成效,却发现一个新的问题:垃圾评论泛滥。很多都是全英文或全日文的垃圾评论,一个评论可能比文章还长,而且一来就是一群,每天删除都花不少精力。

可能很多站长都用过 WordPress 官方出的 Akismet 插件,它通过大数据能够拦截绝大多数垃圾评论,但是它的服务器在国外,国内站点启用之后,用户评论明显变慢,页面加载速度也受到影响。

当然,你也可以通过 设置 - 讨论 中设置“禁止使用的评论关键字”,当评论者的内容、名称、网址、电邮、IP或浏览器用户代理字串中包含以下关键词,这则评论将被移入回收站。每行输入一个词或IP地址。

但 WordPrss 会在单词的内部进行匹配,如“WordPress”将与关键词“press”相匹配,造成误伤率比较高,操作起来不太灵活。

看到空木白博客有个纯代码拦截英文、日文垃圾评论的方法,觉得不错。只需将以下代码复制到当前主题的  functions.php 文件中即可。

// 屏蔽纯英文评论和纯日文

function refused_english_comments($incoming_comment) {

$pattern = '/[一-龥]/u';

// 禁止全英文评论

if(!preg_match($pattern, $incoming_comment['comment_content'])) {

wp_die( "您的评论中必须包含汉字!" );

}

$pattern = '/[あ-んア-ン]/u';

// 禁止日文评论

if(preg_match($pattern, $incoming_comment['comment_content'])) {

wp_die( "评论禁止包含日文!" );

}

return( $incoming_comment );

}

add_filter('preprocess_comment', 'refused_english_comments');

当评论提交时,通过正则表达式匹配评论内容,如果评论是纯英文或者包含了日文,则跳转到提示页面。

从这两天的运行情况看,果然没有了那大把的全英文垃圾评论,感觉自己的网站一下子清朗了许多。


历史上的今天:

今天没有相关的历史文章。

相关推荐

WordPress 站点之间内容迁移的简单教程

昨天,我个人博客再做减法,又被我干掉一个网站,但内容被我迁移到了主博客中来,由于两个网站都是用 WordPress 博客程序搭建的,内容迁移非常方便,并且完整保留了文章、评论、标签,连图片地址都不用修改。下面我把整个迁移过程作个简单的记录。 一、源站点的预准备 源站点的内容,我分成了多个分类,如果像我一样迁移 ...

用老薛主机子域功能做网站备份的方法

老薛主机可以无限建站,虽然是4G的进阶段香港主机,放个5、6个网站是没问题的,所以我把原来几个老网站的数据都迁到了老薛主机上,算是做个网站备份,有些文章的内容还有用,可方便查找。 如果你要继续使用独立域名,选择老薛主机 cPanel 的附加域功能,如果你只用二级域名,则选择 cPanel 的子域功能。 1、创建子域。登 ...

如何实现 WordPress 网站页面内容的分页显示?

我的 WordPress 网站中有个“阅读记录”页面,按年份记录了自己一年中阅读过的图书目录。五年下来,文章的内容比较多,页面拉得很长,浏览起来不太方便。所以我想让页面内容按年份分页显示,一年一个分页,通过导航条切换,方便地浏览。 WordPress 编辑器中有“分页符”按钮,在需要分页的地方点击此按钮,就会加入 <!--n ...

WordPress 网站如何开启维护模式?

网站因更新或维护等原因,会导致访问出错的情况,这时我们可能需要临时关闭网站。如果你的网站是用 WordPress 程序搭建的,则你可通过以下方法开启网站维护模式,给出一个维护提示的页面,以确保用户体验不受影响,同时也能够保护你的数据安全。 一、使用主题功能 许多 WordPress 主题都内置了“维护模式”的选项,我们只 ...

4 条评论

  1. 这个还是有必要搞的

  2. 那些英文垃圾邮件都是机器发的,最简单的办法就是加个验证码

    • @鸟叔 我不太喜欢加验证码,觉得又把一个想留言的人给往外推了。哈哈。

发表评论

您的电子邮件地址不会被公开,必填项已用*标注。