wp_get_post_autosave( int $post_id, int $user_id ): WP_Post|false

Retrieves the autosaved data of the specified post.

Description

Returns a post object with the information that was autosaved for the specified post.
If the optional $user_id is passed, returns the autosave for that user, otherwise returns the latest autosave.

Parameters

$post_idintrequired
The post ID.
$user_idintoptional
The post author ID. Default 0.

Return

WP_Post|false The autosaved data or false on failure or when no autosave exists.

Source

function wp_get_post_autosave( $post_id, $user_id = 0 ) {
	$args = array(
		'post_type'      => 'revision',
		'post_status'    => 'inherit',
		'post_parent'    => $post_id,
		'name'           => $post_id . '-autosave-v1',
		'posts_per_page' => 1,
		'orderby'        => 'date',
		'order'          => 'DESC',
		'fields'         => 'ids',
		'no_found_rows'  => true,
	);

	if ( 0 !== $user_id ) {
		$args['author'] = $user_id;
	}

	$query = new WP_Query( $args );

	if ( ! $query->have_posts() ) {
		return false;
	}

	return get_post( $query->posts[0] );
}

Changelog

VersionDescription
2.6.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.