Описание comment_{$new_status}_{$comment->comment_type}
— Action
Хук comment_{$new_status}_{$comment->comment_type} позволяет выполнять действия при изменении статуса комментария. Он срабатывает, когда статус комментария меняется на новый статус, например, при одобрении или удалении комментария, и позволяет выполнять дополнительные действия в ответ на это изменение.
Примеры использования
Пример отправки уведомления при одобрении комментария:
add_action('comment_approve', function($comment) {
// Отправляем уведомление автору комментария
wp_mail($comment->comment_author_email, 'Ваш комментарий одобрен', 'Ваш комментарий был одобрен.');
});
В этом примере мы отправляем уведомление автору комментария, когда его комментарий одобряется.
Пример логирования изменений статуса комментария:
add_action('comment_{$new_status}_{$comment->comment_type}', function($comment, $new_status, $old_status) {
// Логируем информацию о статусе
error_log('Комментарий с ID ' . $comment->comment_ID . ' изменил статус с ' . $old_status . ' на ' . $new_status);
});
Здесь мы логируем старый и новый статус комментария в файл журнала.
Пример изменения комментария при переводе в спам:
add_action('comment_spam', function($comment) {
// Изменяем текст комментария перед отправкой в спам
$comment->comment_content .= ' [Это сообщение помечено как спам]';
});
В этом примере мы добавляем текст к комментарию, когда он помечается как спам.
— Лучшие практики
– Использование
Используйте этот хук для выполнения действий, когда необходимо реагировать на изменения статуса комментариев
– Производительность
Обратите внимание на производительность, особенно если выполняемые действия являются ресурсозатратными или влияют на пользовательский интерфейс
– Предупреждения
Убедитесь, что ваши действия не нарушают логику работы с комментариями, например, не вызывайте повторные изменения статуса комментариев
Альтернативы
Тип: action
Этот хук срабатывает при создании нового комментария и может использоваться, если нужно выполнить действия сразу после его добавления
Используйте его, если действия не связаны с изменением статуса комментария