测试弹窗

使用 preprocess_comment
钩子,在用户提交评论时进行进行判断,若评论内容不存在中文字符则评论失败。
注意:若不存在中文字符,用户会立即收到评论失败,需要重新提交评论。
用正则'/[一-龥]/u'
进行判断:
在 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
钩子,在用户提交评论后进行进行判断,若评论内容不存在中文字符则自动标记为垃圾评论。
注意:不管是否存在中文字符,用户都可以提交成功,对于用户是无感的。
在 function.php 下添加:
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
,则自动移至回收站。
甚至,你还可以在这段函数里添加想要过滤的关键字敏感词,对垃圾内容进行静默处理。
例如:
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);
文章不错?点个赞呗
0