WordPress防范垃圾评论(无插件)

本文介绍了一种通过判断评论内容是否包含汉字来屏蔽英文垃圾评论的方法,详细解释了其实现原理,并提供了代码示例。此外,文章还讨论了不同实现方式的优缺点,包括修改主题文件、修改源文件以及使用插件的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近网站开始有垃圾评论了,大多还都是全英文的,十分头疼,查阅资料,现在找到解决办法,与遇到同样问题的各位博主分享一下,实现原理:判断评论内容是否包含汉字,如果一个汉字都没有,则给出错误提示,评论无法提交,这样垃圾评论也没有存储到数据库中,达到了屏蔽英文垃圾评论的目的。

简单方法一:修改主题文件

找到你当前使用的主题目录下的functions.php,将第一个 <?php 替换为:

<?php
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’);

这样不会受到的WordPress升级的影响, 最后以 UTF-8 编码将functions.php另存为,而不是直接点保存,覆盖原来的functions.php文件(否则你的博客评论会出错),上传到你的博客空间,一切OK!

比较笨的方法:修改源文件

这样的话优点可以适用多个主题,但是程序升级的话,必须再次修改。打开WordPress安装目录下的wp-comments-post.php文件,

找到代码:

// If the user is logged in

替换为:

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

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

// If the user is logged in

插件方法(方便)
插件有插件的好处,但是也影响打开的速度,有所得必有所失嘛,
插件  Some Chinese Please 是为用中文写作的wordpress 博主准备的拦截垃圾评论的插件。
以上代码实现原理就来自此插件,只是插件代码在运行的时候需要加载的地方很多,上面代码正好简化了插件的后台运行,访问更快一点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值