Definition:
function wp_delete_comment($comment_id, $force_delete = false) {}
Trashes or deletes a comment.
The comment is moved to trash instead of permanently deleted unless trash is disabled, item is already in the trash, or $force_delete is true.
Parameters
- int $comment_id: Comment ID
- bool $force_delete: Whether to bypass trash and force deletion. Default is false.
Return values
returns:False if delete comment query failure, true on success.
Defined actions
- delete_comment
do_action('delete_comment', $comment_id);
- delete_commentmeta
do_action( 'delete_commentmeta', $meta_ids );
- deleted_commentmeta
do_action( 'deleted_commentmeta', $meta_ids );
- deleted_comment
do_action('deleted_comment', $comment_id);
- wp_set_comment_status
do_action('wp_set_comment_status', $comment_id, 'delete');
Source code
function wp_delete_comment($comment_id, $force_delete = false) { global $wpdb; if (!$comment = get_comment($comment_id)) return false; if ( !$force_delete && EMPTY_TRASH_DAYS && !in_array( wp_get_comment_status($comment_id), array( 'trash', 'spam' ) ) ) return wp_trash_comment($comment_id); do_action('delete_comment', $comment_id); // Move children up a level. $children = $wpdb->get_col( $wpdb->prepare("SELECT comment_ID FROM $wpdb->comments WHERE comment_parent = %d", $comment_id) ); if ( !empty($children) ) { $wpdb->update($wpdb->comments, array('comment_parent' => $comment->comment_parent), array('comment_parent' => $comment_id)); clean_comment_cache($children); } // Delete metadata $meta_ids = $wpdb->get_col( $wpdb->prepare( "SELECT meta_id FROM $wpdb->commentmeta WHERE comment_id = %d ", $comment_id ) ); if ( !empty($meta_ids) ) { do_action( 'delete_commentmeta', $meta_ids ); $in_meta_ids = "'" . implode("', '", $meta_ids) . "'"; $wpdb->query( "DELETE FROM $wpdb->commentmeta WHERE meta_id IN ($in_meta_ids)" ); do_action( 'deleted_commentmeta', $meta_ids ); } if ( ! $wpdb->query( $wpdb->prepare("DELETE FROM $wpdb->comments WHERE comment_ID = %d LIMIT 1", $comment_id) ) ) return false; do_action('deleted_comment', $comment_id); $post_id = $comment->comment_post_ID; if ( $post_id && $comment->comment_approved == 1 ) wp_update_comment_count($post_id); clean_comment_cache($comment_id); do_action('wp_set_comment_status', $comment_id, 'delete'); wp_transition_comment_status('delete', $comment->comment_approved, $comment); return true; }
3587
No comments yet... Be the first to leave a reply!