限制wordpress评论文章字数(垃圾评论)的方法

作者: admin 分类: wordpress主题制作教程 发布时间: 2022-02-23 13:26

最近这段时间都在寻找限制wordpress中垃圾评论的方法,每天后台都收到大量的垃圾评论,基本上都是机器群发的外链信息,导致正常评论都会淹没在垃圾评论中了,看了很多插件,但是感觉麻烦,于是想到了通知限制wordpress评论文章字数的方法来限制垃圾评论。

原理就是垃圾评论的字数非常长,包含链接等信息,所以可以通过字数来限制,这样在发送评论的时候,wordpress会自动检测评论字数,如果大于制定的数量,就无法发送到数据库中,也能减少数据库的内容数量。代码如下:

 //下面这个代码是限制评论字数,太多很可能是软件群发的垃圾信息。注意:一个汉字是三个长度,一个英语字母是一个长度。
add_filter( 'preprocess_comment', 'wpb_preprocess_comment' );
 
function wpb_preprocess_comment($comment) {
    if ( strlen( $comment['comment_content'] ) > 200 ) {
        wp_die('Comment is too long. Please keep your comment under 5000 characters.');
    }

    return $comment;
}

上面要注意的就是一个汉字长度是三,一个英语字母长度是一。

上面的代码稍微修改下,就可以限制评论字数太少的也无法发送成功。


2月26号补充:想到个方法可以更好的识别垃圾评论,那就是垃圾评论里面有网址,可以通过网址中的字符来判断是不是垃圾评论,所以在上面的基础上,增加了一点代码,改成如下,效果更好:

add_filter( 'preprocess_comment', 'wpb_preprocess_comment' );
 
function wpb_preprocess_comment($comment) {
	$txt = strstr($comment['comment_content'],"http");  ///查找是否找到了http这个字符,如果包含了,那就有可能是广告。
    if ( strlen( $comment['comment_content'] ) > 350 ) {
        wp_die('你的字数太长了,是不是在发广告哦??');
    }
    elseif($txt != false){
         wp_die('包含了非法字符:http');
    }

    return $comment;
}

如上,红色部分代码就是检测发送过来的内容是否包含了’http’这个字符串,如果有,就会提示非法字符。当然了,还可以检测其它字符,这样基本就可以杜绝垃圾内容了。

通过文字数量来判断有一个弊端就是有可能对方并非垃圾评论,字数却比较多,所以修改字符数为350,这样可以允许100多个中文汉字评论了。

相关文章

发表评论

邮箱地址不会被公开。 必填项已用*标注

Powered by 草根站长笔记 © 2015-2020 草根站长笔记 Inc.版权所有,禁止转载