wordpress 过滤垃圾评论有效方法
wordpress不管站是什么样的,只要开启了评论,就会有垃圾评论来光顾。这些垃圾评论,都有一个共同点,那就是全英文。
既然是全英文,对于国人,那就暴力一点,直接过滤点不含中文的评论。
在主题functions.php中添加:
function my_comment_spam_filter($comment_id) {
$comment = get_comment($comment_id);
if (!preg_match('/[\x{4e00}-\x{9fa5}]/u',$comment->comment_content)) {
wp_delete_comment($comment->comment_ID, true);
wp_die('评论中包含垃圾邮件的关键字,已被系统拒绝。');
}
}
// 添加评论过滤钩子
add_action('comment_post', 'my_comment_spam_filter', 1);
输入的评论中,不含中文的就会被拦截。
有时候,它又不能过滤通过GET或者POST提交的垃圾评论,那就更换评论方式,放弃wordpress自带的评论,自定义评论模块。用post_meta来定义评论模块,通过循环post_meta来提取评论。可以设置审核。JS过滤一些关键词。
标签:WordPress