wordpress过滤垃圾评论终极解决办法

2020-08-30 11:31:01

你如果使用wordpress建站一段时间后,登陆后台久会看到大量的呆审核评论,不要高兴,点进去看下,估计大部分是英文跟日文,这些评论都是由机器发出的而且都带了大量的链接。如下图所示:
ordpress过滤垃圾评论代码
本站前面介绍了过滤垃圾评论的方法:

1、wordpress屏蔽垃圾评论插件:Akismet

2、wordpress过滤垃圾评论代码

3、wordpress屏蔽大量英文垃圾评论插件:Some Chinese Please

即便做好了以上三步,还是无法从根本上解决垃圾评论的问题。今天wordpress教程网就为大家介绍如何从根源上去解决垃圾评论的问题,由于垃圾评论都是通过机器脚本发送对应的我们wordpress的评论提交文件为wp-comments-post.php,该文件位于站点根目录下,所以我们只要修改默认的评论文件名即可,如我改为my-wp-comments-post.php,当机器或脚本再提交垃圾评论后就无法找到该文件,成功屏蔽了垃圾评论。从应用效果来看,这个是目前最好屏蔽垃圾评论的方法。完整步骤如下:

1、修改站点目录下wp-comments-post.php名为my-wp-comments-post.php
2、修改当前使用主题的comments.php文件提交的评论地址为:my-wp-comments-post.php

3、将以下过滤代码添加到你主题的functions.php文件中


function check_comment_data( $commnet_data ) {

$pattern = "/[x7f-xff]/";
// 禁止非中文
if(!preg_match($pattern, $commnet_data['comment_content'])) {
$str = "您的评论中必须包含汉字!";
//异步提交评论表单

wp_die ( __( $str ) );
//wordpress默认错误提示页面
//wp_die( $str );
}
// 禁止含有链接的评论
if(strpos($commnet_data['comment_content'],'http://') !== false || strpos($commnet_data['comment_content'],'<a') !== false)
{
$str = "您的评论中不能包含链接!";
//异步提交评论表单

wp_die ( __( $str ) );
}

return $commnet_data;
}
add_filter('preprocess_comment', 'check_comment_data');

注:wordpress升级时重复以上步骤。