使用 preprocess_comment 钩子,在用户提交评论时进行进行判断,若评论内容不存在中文字符则评论失败。
preprocess_comment
注意:若不存在中文字符,用户会立即收到评论失败,需要重新提交评论。
用正则'/[一-龥]/u'进行判断:
'/[一-龥]/u'
在 function.php 下添加:
function.php
add_filter('preprocess_comment', function ($comment_data) { $pattern = '/[一-龥]/u'; if (!preg_match($pattern, $comment_data['comment_content'])) { wp_die('评论必须含中文!'); } return ($comment_data); });
使用 pre_comment_approved 钩子,在用户提交评论后进行进行判断,若评论内容不存在中文字符则自动标记为垃圾评论。
pre_comment_approved
注意:不管是否存在中文字符,用户都可以提交成功,对于用户是无感的。
add_filter('pre_comment_approved', function ($approved, $commentdata) { $comment = $commentdata['comment_content']; if (!preg_match('/[一-龥]/u', $comment)) { return 'spam'; } return $approved; }, '99', 2);
如果把 spam 改为 trash ,则自动移至回收站。
spam
trash
甚至,你还可以在这段函数里添加想要过滤的关键字敏感词,对垃圾内容进行静默处理。
例如:
add_filter('pre_comment_approved', function ($approved, $commentdata) { $comment = $commentdata['comment_content']; $keyword = [ '代练', '挂机', '演员', // 添加敏感词 ]; foreach ($keyword as $value) { if (strpos($comment, $value) !== false) { return 'spam'; } } if (!preg_match('/[一-龥]/u', $comment)) { return 'spam'; } return $approved; }, '99', 2);
您的邮箱地址不会被公开。 必填项已用 * 标注
名称 *
邮箱 *
站点
添加评论 *
Save my name, email and website in this browser for the next time I comment.
我接受隐私政策
发表评论
wordpress过滤评论
必须包含中文的评论
使用
preprocess_comment
钩子,在用户提交评论时进行进行判断,若评论内容不存在中文字符则评论失败。注意:若不存在中文字符,用户会立即收到评论失败,需要重新提交评论。
用正则
'/[一-龥]/u'
进行判断:在
function.php
下添加:非中文评论自动标记为垃圾评论
使用
pre_comment_approved
钩子,在用户提交评论后进行进行判断,若评论内容不存在中文字符则自动标记为垃圾评论。注意:不管是否存在中文字符,用户都可以提交成功,对于用户是无感的。
在 function.php 下添加:
如果把
spam
改为trash
,则自动移至回收站。甚至,你还可以在这段函数里添加想要过滤的关键字敏感词,对垃圾内容进行静默处理。
例如: