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

February 12, 2011 


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