函数wp_throttle_comment_flood是WordPress中用于限制评论洪水的函数。它允许管理员设置在指定时间内允许用户发表多少条评论。
wp_throttle_comment_flood函数的详细用法如下:
1.找到主题文件中的functions.php文件并打开。
2.在functions.php文件中找到任意空白行,添加以下代码:
function wp_throttle_comment_flood($time_limit, $max_comments) {
// 获取当前登录用户ID
$user_id = get_current_user_id();
// 如果用户已登录
if ($user_id) {
// 获取用户的评论数
$user_comments = get_comments([
'user_id' => $user_id,
'count' => true
]);
// 如果评论数大于等于最大评论数
if ($user_comments >= $max_comments) {
// 返回错误信息
wp_die('您已达到评论上限。');
}
}
// 获取用户IP地址
$user_ip = $_SERVER['REMOTE_ADDR'];
// 获取指定时间内的评论数
$ip_comments = get_comments([
'author_IP' => $user_ip,
'date_query' => [
[
'after' => '-' . $time_limit . ' seconds'
]
],
'count' => true
]);
// 如果评论数大于等于最大评论数
if ($ip_comments >= $max_comments) {
// 返回错误信息
wp_die('您已达到评论上限。');
}
}
3.保存文件,使更改生效。现在,wp_throttle_comment_flood函数已经可用于限制评论洪水。
4.在需要限制评论洪水的地方,调用wp_throttle_comment_flood函数。例如,在评论提交之前的处理程序中,添加以下代码:
add_action('pre_comment_on_post', 'my_comment_flood_protection');
function my_comment_flood_protection() {
// 设置时间限制为60秒
$time_limit = 60;
// 设置每分钟最多允许3条评论
$max_comments = 3;
// 调用wp_throttle_comment_flood函数
wp_throttle_comment_flood($time_limit, $max_comments);
}
5.保存文件,使更改生效。现在,当用户在60秒内尝试发表超过3条评论时,将会收到一个错误消息,表示评论已达到上限。
通过使用wp_throttle_comment_flood函数,您可以轻松地限制评论洪水,确保用户不会滥用评论功能。
0 个评论