Описание check_comment_flood
— Action
Хук check_comment_flood позволяет проверять и управлять условиями, которые определяют, может ли пользователь оставлять комментарии на сайте. Он срабатывает при попытке отправки комментария и помогает предотвратить массовое размещение комментариев (флуд) от одного пользователя
Примеры использования
Пример ограничения количества комментариев от одного пользователя за определенное время:
add_action('check_comment_flood', function($comment) {
$flood_time = 60; // время в секундах
$user_id = get_current_user_id();
$last_comment_time = get_user_meta($user_id, 'last_comment_time', true);
if ($last_comment_time && (time() - $last_comment_time < $flood_time)) {
wp_die('Вы слишком часто оставляете комментарии. Пожалуйста, подождите.');
} else {
update_user_meta($user_id, 'last_comment_time', time());
}
});
В этом примере мы ограничиваем количество комментариев от одного пользователя, чтобы предотвратить флуд.
Пример добавления дополнительного условия для проверки флуда:
add_action('check_comment_flood', function($comment) {
if (strpos($comment['comment_content'], 'спам') !== false) {
wp_die('Ваш комментарий содержит запрещенные слова.');
}
});
Здесь мы добавляем дополнительную проверку на наличие определенных слов в комментарии, что помогает фильтровать спам.
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо контролировать частоту отправки комментариев от пользователей
– Производительность
Следите за тем, чтобы проверки не вызывали значительных задержек при отправке комментариев
– Предупреждения
Избегайте слишком строгих ограничений, чтобы не блокировать нормальных пользователей
Альтернативы
Тип: action
Этот хук позволяет выполнять проверку перед сохранением комментария, что может быть полезно для различных условий
Используйте, если вам нужно добавить разные проверки перед тем, как комментарий будет сохранен в базе данных