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

来源:互联网 发布:网站后台破解软件 编辑:程序博客网 时间:2024/05/16 14:21

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

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

找到你当前使用的主题目录下的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 博主准备的拦截垃圾评论的插件。
以上代码实现原理就来自此插件,只是插件代码在运行的时候需要加载的地方很多,上面代码正好简化了插件的后台运行,访问更快一点。

原创粉丝点击