# wp_ajax_delete_comment()

URL: https://chugunov.pro/api-wordpress/functions/wp_ajax_delete_comment/
Проверено на WordPress 6.9, обновлено 06.08.2026.
Источник: независимый русскоязычный справочник chugunov.pro. Не является официальной документацией WordPress.

Тип: функция.
Появился в версии: 3.1.0.

## Сигнатура

```php
wp_ajax_delete_comment()
```

## Описание

Обрабатывает удаление комментария через AJAX.

## Исходный код

Файл: `wp-admin/includes/ajax-actions.php:722`

```php
function wp_ajax_delete_comment() {
	$id = isset( $_POST['id'] ) ? (int) $_POST['id'] : 0;

	$comment = get_comment( $id );

	if ( ! $comment ) {
		wp_die( time() );
	}

	if ( ! current_user_can( 'edit_comment', $comment->comment_ID ) ) {
		wp_die( -1 );
	}

	check_ajax_referer( "delete-comment_$id" );
	$status = wp_get_comment_status( $comment );
	$delta  = -1;

	if ( isset( $_POST['trash'] ) && '1' === $_POST['trash'] ) {
		if ( 'trash' === $status ) {
			wp_die( time() );
		}

		$result = wp_trash_comment( $comment );
	} elseif ( isset( $_POST['untrash'] ) && '1' === $_POST['untrash'] ) {
		if ( 'trash' !== $status ) {
			wp_die( time() );
		}

		$result = wp_untrash_comment( $comment );

		// Undo trash, not in Trash.
		if ( ! isset( $_POST['comment_status'] ) || 'trash' !== $_POST['comment_status'] ) {
			$delta = 1;
		}
	} elseif ( isset( $_POST['spam'] ) && '1' === $_POST['spam'] ) {
		if ( 'spam' === $status ) {
			wp_die( time() );
		}

		$result = wp_spam_comment( $comment );
	} elseif ( isset( $_POST['unspam'] ) && '1' === $_POST['unspam'] ) {
		if ( 'spam' !== $status ) {
			wp_die( time() );
		}

		$result = wp_unspam_comment( $comment );

		// Undo spam, not in spam.
		if ( ! isset( $_POST['comment_status'] ) || 'spam' !== $_POST['comment_status'] ) {
			$delta = 1;
		}
	} elseif ( isset( $_POST['delete'] ) && '1' === $_POST['delete'] ) {
		$result = wp_delete_comment( $comment );
	} else {
		wp_die( -1 );
	}

	if ( $result ) {
		// Decide if we need to send back '1' or a more complicated response including page links and comment counts.
		_wp_ajax_delete_comment_response( $comment->comment_ID, $delta );
	}

	wp_die( 0 );
}
```

## История изменений

- 3.1.0 — Introduced.

## Связанные

Использует: [`_wp_ajax_delete_comment_response`](https://chugunov.pro/api-wordpress/functions/_wp_ajax_delete_comment_response/), [`wp_get_comment_status`](https://chugunov.pro/api-wordpress/functions/wp_get_comment_status/), [`wp_spam_comment`](https://chugunov.pro/api-wordpress/functions/wp_spam_comment/), [`wp_unspam_comment`](https://chugunov.pro/api-wordpress/functions/wp_unspam_comment/), [`wp_trash_comment`](https://chugunov.pro/api-wordpress/functions/wp_trash_comment/), [`wp_untrash_comment`](https://chugunov.pro/api-wordpress/functions/wp_untrash_comment/), [`wp_delete_comment`](https://chugunov.pro/api-wordpress/functions/wp_delete_comment/), [`current_user_can`](https://chugunov.pro/api-wordpress/functions/current_user_can/), [`check_ajax_referer`](https://chugunov.pro/api-wordpress/functions/check_ajax_referer/), [`wp_die`](https://chugunov.pro/api-wordpress/functions/wp_die/), [`get_comment`](https://chugunov.pro/api-wordpress/functions/get_comment/).

Оригинал в официальной документации: https://developer.wordpress.org/reference/functions/wp_ajax_delete_comment/
