Customize: Pass the previous status to post trash hooks when trashing a changeset.

This ensures that the correct number of arguments is passed to post trash hooks in `WP_Customize_Manager::trash_changeset_post()`, which bypasses `wp_trash_post()`.

Follow-up to [56043].

Props joelcj91, mukesh27.
Fixes #60183.
Built from https://develop.svn.wordpress.org/trunk@57238


git-svn-id: http://core.svn.wordpress.org/trunk@56744 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
Sergey Biryukov 2024-01-03 16:22:20 +00:00
parent 997e4bc41e
commit 87a8377de2
2 changed files with 8 additions and 7 deletions

View File

@ -3079,25 +3079,26 @@ final class WP_Customize_Manager {
return false;
}
$previous_status = $post->post_status;
/** This filter is documented in wp-includes/post.php */
$check = apply_filters( 'pre_trash_post', null, $post );
$check = apply_filters( 'pre_trash_post', null, $post, $previous_status );
if ( null !== $check ) {
return $check;
}
/** This action is documented in wp-includes/post.php */
do_action( 'wp_trash_post', $post_id );
do_action( 'wp_trash_post', $post_id, $previous_status );
add_post_meta( $post_id, '_wp_trash_meta_status', $post->post_status );
add_post_meta( $post_id, '_wp_trash_meta_status', $previous_status );
add_post_meta( $post_id, '_wp_trash_meta_time', time() );
$old_status = $post->post_status;
$new_status = 'trash';
$wpdb->update( $wpdb->posts, array( 'post_status' => $new_status ), array( 'ID' => $post->ID ) );
clean_post_cache( $post->ID );
$post->post_status = $new_status;
wp_transition_post_status( $new_status, $old_status, $post );
wp_transition_post_status( $new_status, $previous_status, $post );
/** This action is documented in wp-includes/post.php */
do_action( "edit_post_{$post->post_type}", $post->ID, $post );
@ -3119,7 +3120,7 @@ final class WP_Customize_Manager {
wp_trash_post_comments( $post_id );
/** This action is documented in wp-includes/post.php */
do_action( 'trashed_post', $post_id );
do_action( 'trashed_post', $post_id, $previous_status );
return $post;
}

View File

@ -16,7 +16,7 @@
*
* @global string $wp_version
*/
$wp_version = '6.5-alpha-57237';
$wp_version = '6.5-alpha-57238';
/**
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.