Performs post status transition actions.
This function contains do_action() calls for post status transition action hooks. The order of the words in the function name might be confusing – it does not change the status of posts, it only calls actions that can be hooked into by plugin developers. Although this function is already called where needed by core functions, it may be useful when a plugin updates a post by directly interacting with the database, thereby bypassing the usual post status transition actions. For the actions to be effective, the new status, old status and post object must be passed.
<?php wp_transition_post_status( $new_status, $old_status, $post ) ?>
The following example is based on wp_publish_post().
global $wpdb; if ( ! $post = get_post( $post ) ) return; if ( 'publish' == $post->post_status ) return; $wpdb->update( $wpdb->posts, array( 'post_status' => 'publish' ), array( 'ID' => $post->ID ) ); clean_post_cache( $post->ID ); $old_status = $post->post_status; $post->post_status = 'publish'; wp_transition_post_status( 'publish', $old_status, $post );
wp_transition_post_status() is located in
Post Status Transitions - More information on how to hook into the actions called by this function.