WordPress at a glance
filter is not described

wp_untrash_post_status filter-hook . WP 5.6.0

Filters the status that a post gets assigned when it is restored from the trash (untrashed).

By default posts that are restored will be assigned a status of 'draft'. Return the value of $previous_status in order to assign the status that the post had before it was trashed. The wp_untrash_post_set_previous_status() function is available for this.

Prior to WordPress 5.6.0, restored posts were always assigned their original status.


add_filter( 'wp_untrash_post_status', 'filter_function_name_1142', 10, 3 );
function filter_function_name_1142( $new_status, $post_id, $previous_status ){
	// filter...

	return $new_status;
The new status of the post being restored.
The ID of the post being restored.
The status of the post at the point where it was trashed.


Since 5.6.0 Introduced.

Where the hook is called

wp-includes/post.php 3399
$post_status = apply_filters( 'wp_untrash_post_status', $new_status, $post_id, $previous_status );

Where in WP core the hook is used WordPress

wp-admin/edit.php 139
add_filter( 'wp_untrash_post_status', 'wp_untrash_post_set_previous_status', 10, 3 );
wp-admin/edit.php 155
remove_filter( 'wp_untrash_post_status', 'wp_untrash_post_set_previous_status', 10, 3 );