_wp_post_revision_data()
Returns a post array ready to be inserted into the posts table as a post revision.
Internal function — this function is designed to be used by the kernel itself. It is not recommended to use this function in your code.
No Hooks.
Returns
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. |
_wp_post_revision_data() wp post revision data code WP 6.8.3
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;
}