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 更新升级后,“所有文章”栏目下,“回收站”的链接不见了,更别说回收站中的文章了。 我记得文章是6月份删除的,年前还在的。应该是安装了“计划任务”插件 WP Crontrol 后,在执行了几次同步任务后,不知触发了什么函数 ...

优化 WordPress 后台加载速度慢的方法

经常有小伙伴反映,自己的网站前端访问速度挺正常的,但登录后台时,加载速度却出奇的慢。WordPress 后台加载慢,一般与 WordPress 程序加载海外资源有关,比如 Google 字体,插件更新信息等。 老薛主机推荐了一个简单易用的插件来进行优化,试用了下效果不错,在此介绍给大家。 插件安装 插件下载地址: https://help.l ...

4 条评论

  1. 这个还是有必要搞的

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

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

发表评论

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