Welcome, visitor! Log in
 

Source View: save_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
2614
2615      wp_transition_post_status($data['post_status'], $previous_status, $post);
2616
2617      if ( $update ) {
2618           do_action('edit_post', $post_ID, $post);
2619           $post_after = get_post($post_ID);
2620           do_action( 'post_updated', $post_ID, $post_after, $post_before);
2621      }
2622
2623      do_action('save_post', $post_ID, $post);
2624      do_action('wp_insert_post', $post_ID, $post);
2625
2626      return $post_ID;
2627 }
2628
2629 /**
2630  * Update a post with new post data.
2631  *
2632  * The date does not have to be set for drafts. You can set the date and it will
 
Line Code
2706      wp_transition_post_status('publish', $old_status, $post);
2707
2708      // Update counts for the post's terms.
2709      foreach ( (array) get_object_taxonomies('post') as $taxonomy ) {
2710           $tt_ids = wp_get_object_terms($post_id, $taxonomy, array('fields' => 'tt_ids'));
2711           wp_update_term_count($tt_ids, $taxonomy);
2712      }
2713
2714      do_action('edit_post', $post_id, $post);
2715      do_action('save_post', $post_id, $post);
2716      do_action('wp_insert_post', $post_id, $post);
2717 }
2718
2719 /**
2720  * Publish future post and make sure post ID has future post status.
2721  *
2722  * Invoked by cron 'publish_future_post' event. This safeguard prevents cron
2723  * from publishing drafts, etc.
2724  *