Source View: delete_post

To save our bandwidth, we show only a snippet of code around each occurence of the hook. View complete file in SVN (without highlighting).

Understanding Source Code

The best way to understand what a hook does is to look at where it occurs in the source code.

  • Action hooks look like this: do_action( "hook_name" )
  • Filter hooks look like this: apply_filters( "hook_name", "what_to_filter" ).

Remember, this hook may occur in more than one file. Moreover, the hook's context may change from version to version.

Source View

This hook occurs 2 times in this file.

Line Code
2328
2329      $comment_ids = $wpdb->get_col( $wpdb->prepare( "SELECT comment_ID FROM $wpdb->comments WHERE comment_post_ID = %d", $postid ));
2330      foreach ( $comment_ids as $comment_id )
2331           wp_delete_comment( $comment_id, true );
2332
2333      $post_meta_ids = $wpdb->get_col( $wpdb->prepare( "SELECT meta_id FROM $wpdb->postmeta WHERE post_id = %d ", $postid ));
2334      foreach ( $post_meta_ids as $mid )
2335           delete_metadata_by_mid( 'post', $mid );
2336
2337      do_action( 'delete_post', $postid );
2338      $wpdb->delete( $wpdb->posts, array( 'ID' => $postid ) );
2339      do_action( 'deleted_post', $postid );
2340
2341      clean_post_cache( $post );
2342
2343      if ( is_post_type_hierarchical( $post->post_type ) && $children ) {
2344           foreach ( $children as $child )
2345                clean_post_cache( $child );
2346      }
 
Line Code
4174
4175      $comment_ids = $wpdb->get_col( $wpdb->prepare( "SELECT comment_ID FROM $wpdb->comments WHERE comment_post_ID = %d", $post_id ));
4176      foreach ( $comment_ids as $comment_id )
4177           wp_delete_comment( $comment_id, true );
4178
4179      $post_meta_ids = $wpdb->get_col( $wpdb->prepare( "SELECT meta_id FROM $wpdb->postmeta WHERE post_id = %d ", $post_id ));
4180      foreach ( $post_meta_ids as $mid )
4181           delete_metadata_by_mid( 'post', $mid );
4182
4183      do_action( 'delete_post', $post_id );
4184      $wpdb->delete( $wpdb->posts, array( 'ID' => $post_id ) );
4185      do_action( 'deleted_post', $post_id );
4186
4187      $uploadpath = wp_upload_dir();
4188
4189      if ( ! empty($meta['thumb']) ) {
4190           // Don't delete the thumb if another attachment uses it
4191           if (! $wpdb->get_row( $wpdb->prepare( "SELECT meta_id FROM $wpdb->postmeta WHERE meta_key = '_wp_attachment_metadata' AND meta_value LIKE %s AND post_id <> %d", '%' . $meta['thumb'] . '%', $post_id)) ) {
4192                $thumbfile = str_replace(basename($file), $meta['thumb'], $file);