wp_ajax_delete_comment()

In this article

Handles deleting a comment via AJAX.

Source

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() );	}	$r = wp_trash_comment( $comment );	} elseif ( isset( $_POST['untrash'] ) && '1' === $_POST['untrash'] ) {	if ( 'trash' !== $status ) {	wp_die( time() );	}	$r = 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() );	}	$r = wp_spam_comment( $comment );	} elseif ( isset( $_POST['unspam'] ) && '1' === $_POST['unspam'] ) {	if ( 'spam' !== $status ) {	wp_die( time() );	}	$r = 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'] ) {	$r = wp_delete_comment( $comment );	} else {	wp_die( -1 );	}	if ( $r ) {	// 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 ); } 

Changelog

VersionDescription
3.1.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.