WordPress at Your Fingertips
function is not described

_wp_post_revision_data() WP 4.5.0

Returns a post array ready to be inserted into the posts table as a post revision.

This is an internal function for using it by WP core itself. It's not recommended to use this function in your code.

No Hooks.

Return

Array. Post array ready to be inserted as a post revision.

Usage

_wp_post_revision_data( $post, $autosave );
$post(array|WP_Post)
A post array or a WP_Post object to be processed for insertion as a post revision.
Default: empty array
$autosave(true|false)
Is the revision an autosave? Default false.
Default: false

Changelog

Since 4.5.0 Introduced.

Code of _wp_post_revision_data() WP 5.8.2

function _wp_post_revision_data( $post = array(), $autosave = false ) {
	if ( ! is_array( $post ) ) {
		$post = get_post( $post, ARRAY_A );
	}

	$fields = _wp_post_revision_fields( $post );

	$revision_data = array();

	foreach ( array_intersect( array_keys( $post ), array_keys( $fields ) ) as $field ) {
		$revision_data[ $field ] = $post[ $field ];
	}

	$revision_data['post_parent']   = $post['ID'];
	$revision_data['post_status']   = 'inherit';
	$revision_data['post_type']     = 'revision';
	$revision_data['post_name']     = $autosave ? "$post[ID]-autosave-v1" : "$post[ID]-revision-v1"; // "1" is the revisioning system version.
	$revision_data['post_date']     = isset( $post['post_modified'] ) ? $post['post_modified'] : '';
	$revision_data['post_date_gmt'] = isset( $post['post_modified_gmt'] ) ? $post['post_modified_gmt'] : '';

	return $revision_data;
}