不使用插件纯代码实现禁止WordPress纯英文垃圾评论

Ourboke
Ourboke
Ourboke
16368
文章
148
评论
2022年1月12日12:02:35

Akismet 反垃圾评论插件作为 WordPress 的标配在处理垃圾评论方面的整体表现还是非常不错的,但是老俍每次处理留言的时候看到那几千条的垃圾放在哪,也不是很舒服,虽然有定期自动清理。

所以,本次分享的内容就是如何防患于未然,让垃圾评论不能留言成功,无插件纯代码实现禁止 WordPress 纯外文垃圾评论。

请把所需的代码复制到当前主题的 funtions.php 文件最后一个 ?> 的前面即可。

1、禁止全英文或者日文的评论

// 屏蔽纯英文评论和纯日文
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');

2、禁止全英文、日文、俄文、韩文、阿拉伯文、泰文的评论

// 禁止全英日俄韩阿泰语评论
function ssdax_comment_all_post( $incoming_comment ) {
$enpattern = '/[一-龥]/u';
$jpattern ='/[ぁ-ん]+|[ァ-ヴ]+/u';
$ruattern ='/[А-я]+/u';
$krattern ='/[갂-줎]+|[줐-쥯]+|[쥱-짛]+|[짞-쪧]+|[쪨-쬊]+|[쬋-쭬]+|[쵡-힝]+/u';
$arattern ='/[؟-ض]+|[ط-ل]+|[م-م]+/u';
$thattern ='/[ก-๛]+/u';
if(!preg_match($enpattern, $incoming_comment['comment_content'])) {
err( "写点汉字吧,博主外语很捉急! Please write some chinese words!" );
}
if(preg_match($jpattern, $incoming_comment['comment_content'])){
err( "日文滚粗!Japanese Get out!日本語出て行け!" );
}
if(preg_match($ruattern, $incoming_comment['comment_content'])){
err( "北方野人讲的话我们不欢迎!Russians, get away!Savage выйти из Русского Севера!" );
}
if(preg_match($krattern, $incoming_comment['comment_content'])){
err( "思密达的世界你永远不懂!Please do not use Korean!하시기 바랍니다 한국 / 한국어 사용하지 마십시오!" );
}
if(preg_match($arattern, $incoming_comment['comment_content'])){
err( "禁止使用阿拉伯语!Please do not use Arabic!!من فضلك لا تستخدم اللغة العربية" );
}
if(preg_match($thattern, $incoming_comment['comment_content'])){
err( "人妖你好,人妖再见!Please do not use Thai!กรุณาอย่าใช้ภาษาไทย!" );
}
return( $incoming_comment );
}
add_filter('preprocess_comment', 'ssdax_comment_all_post');

3、禁止评论内容带有链接

//禁止发链接
function wp_comment_post( $incoming_comment ) {
$http = '/[href="|rel="nofollow"|http:\/\/|<\/a>]/u';
if(preg_match($http, $incoming_comment['comment_content'])) {
err( "禁止发链接地址!" );
}
return( $incoming_comment );
}
add_filter('preprocess_comment', 'wp_comment_post');
历史上的今天
1月
12
WordPress 判断访客浏览器类型方法 WordPress

WordPress 判断访客浏览器类型方法

现在很多主题对IE支持都不是很好,其实我们可以通过判断访问者用浏览器,然后提醒用户升级浏览器。 今天分享一下WordPress 判断访客浏览器类型方法。比如在主题模板适当位置添加: &...
让WordPress页面支持添加分类及标签 WordPress

让WordPress页面支持添加分类及标签

默认WordPress页面不支持选择分类和添加标签,可以通过下面的方法为页面添加分类及标签。 将下面代码添加到当前主题函数模板 functions.php 中: functio...
wordpress如何根据slug获取分类下的文章 WordPress

wordpress如何根据slug获取分类下的文章

wordpress的强大之处在于丰富的函数,封装了无数钩子、函数,可以在开发过程中使用。但有的东西始终要自己编写,我在搜索引擎翻了个底朝天,也没有找到根据分类slug获取分类下文章的博文。于是就自己写...