_wp_post_revision_data

The timeline below displays how wordpress function _wp_post_revision_data has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 5.4

/**
 * Returns a post array ready to be inserted into the posts table as a post revision.
 *
 * @since 4.5.0
 * @access private
 *
 * @param array|WP_Post $post     Optional. A post array or a WP_Post object to be processed
 *                                for insertion as a post revision. Default empty array.
 * @param bool          $autosave Optional. Is the revision an autosave? Default false.
 * @return array Post array ready to be inserted as a post revision.
 */
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;
}

WordPress Version: 4.5

/**
 * Returns a post array ready to be inserted into the posts table as a post revision.
 *
 * @since 4.5.0
 * @access private
 *
 * @param array|WP_Post $post     Optional. A post array or a WP_Post object to be processed
 *                                for insertion as a post revision. Default empty array.
 * @param bool          $autosave Optional. Is the revision an autosave? Default false.
 * @return array Post array ready to be inserted as a post revision.
 */
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;
}