wppaste
WordPress

do_action( 'transition_post_status', string $new_status, string $old_status, WP_Post $post )

Since
2.3.0
Fires when a post is transitioned from one status to another.

Compatibility

WordPress
since 2.3.0
  • 6.7.10
  • 6.8.11
  • 6.9.10
  • 7.0.7
  • 7.1.3

Present in every tracked release (6.7.10 to 7.1.3).

Parameters

$new_statusstring
New post status.
$old_statusstring
Old post status.
$postWP_Post
Post object.

Where this hook fires · 1

  • wp-includes/post.php:5740wp_transition_post_status()

Source code

	 * @since 2.3.0	 *	 * @param string  $new_status New post status.	 * @param string  $old_status Old post status.	 * @param WP_Post $post       Post object.	 */	do_action( 'transition_post_status', $new_status, $old_status, $post ); 	$new_status_object = get_post_status_object( $new_status );	$old_status_valid  = get_post_status_object( $old_status ) || 'new' === $old_status;	$post_type_object  = get_post_type_object( $post->post_type ); 	if ( $new_status_object && $old_status_valid ) {

Changelog

Introduced in 2.3.0. Unchanged from 6.7.10 through 7.1.3.

  1. 6.7.10
  2. 6.8.11
  3. 6.9.10
  4. 7.0.7
  5. 7.1.3

Signature, return type and hooks compared across 5 parsed releases.

About this page

Parsed data
Generated from the wordpress-develop 6.8.11 tag, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it.
Corrections
Something wrong on this page? Report it and it gets fixed in the next regeneration.