wp_trash_post_comments

Definition:
function wp_trash_post_comments($post = null) {}

Moves comments for a post to the trash

Parameters

  • int $post: Post ID or object.

Return values

returns:False on failure

Defined actions

  • trash_post_comments
    do_action('trash_post_comments', $post_id);
  • trashed_post_comments
    do_action('trashed_post_comments', $post_id, $statuses);

Source code

function wp_trash_post_comments($post = null) {

	global $wpdb;



	$post = get_post($post);

	if ( empty($post) )

		return;



	$post_id = $post->ID;



	do_action('trash_post_comments', $post_id);



	$comments = $wpdb->get_results( $wpdb->prepare("SELECT comment_ID, comment_approved FROM $wpdb->comments WHERE comment_post_ID = %d", $post_id) );

	if ( empty($comments) )

		return;



	// Cache current status for each comment

	$statuses = array();

	foreach ( $comments as $comment )

		$statuses[$comment->comment_ID] = $comment->comment_approved;

	add_post_meta($post_id, '_wp_trash_meta_comments_status', $statuses);



	// Set status for all comments to post-trashed

	$result = $wpdb->update($wpdb->comments, array('comment_approved' => 'post-trashed'), array('comment_post_ID' => $post_id));



	clean_comment_cache( array_keys($statuses) );



	do_action('trashed_post_comments', $post_id, $statuses);



	return $result;

}

4187

No comments yet... Be the first to leave a reply!

Leave a comment