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!