deleted_comment
Срабатывает сразу после удаления комментария из базы данных (до очистки кэша).
После срабатывания хука в функции wp_delete_comment() происходят следующие действия:
-
Обновляется (уменьшается на 1) количество комментариев у записи - wp_update_comment_count()
-
Удаляется объектный кеш комментария - clean_comment_cache()
-
Срабатывает хук wp_set_comment_status
- Изменяется статус на delete - wp_transition_comment_status()
Хук сработает только при удалении из корзины (безвозвратное удаление). Если удаление комментария происходит сначала в корзину, то этот хук не сработает! При перемещении в корзину срабатывает аналогичный хук trashed_comment.
Использование
add_action( 'deleted_comment', 'wp_kama_deleted_comment_action', 10, 2 ); /** * Function for `deleted_comment` action-hook. * * @param string $comment_id The comment ID as a numeric string. * @param WP_Comment $comment The deleted comment. * * @return void */ function wp_kama_deleted_comment_action( $comment_id, $comment ){ // action... }
- $comment_id(int)
- ID комментария.
- $comment(WP_Comment)
- Объект удалённого комментария.
Примеры
#1 Отправим письмо автору удалённого комментария
add_action( 'deleted_comment', 'send_email_commentator_after_deletion' ); function send_email_commentator_after_deletion( $comment_id ) { $email = get_comment_author_email( $comment_id ); $subject = 'Ваш комментарий удалён'; $message = 'По какой-то причине ваш комментарий был удалён.'; wp_mail( $email, $subject, $message ); }
Список изменений
С версии 2.9.0 | Введена. |
С версии 4.9.0 | Added the $comment parameter. |
Где вызывается хук
wp-includes/comment.php 1499
do_action( 'deleted_comment', $comment->comment_ID, $comment );