Alert: This function’s access is marked private. This means it is not intended for use by plugin or theme developers, only in other core functions. It is listed here for completeness.
_wp_put_post_revision( int|WP_Post|array|null $post = null, bool $autosave = false )
Inserts post data into the posts table as a post revision.
Description Description
Parameters Parameters
- $post
-
(int|WP_Post|array|null) (Optional) Post ID, post object OR post array.
Default value: null
- $autosave
-
(bool) (Optional) Is the revision an autosave?
Default value: false
Return Return
(int|WP_Error) WP_Error or 0 if error, new revision ID if success.
Source Source
File: wp-includes/revision.php
function _wp_put_post_revision( $post = null, $autosave = false ) { if ( is_object( $post ) ) { $post = get_object_vars( $post ); } elseif ( ! is_array( $post ) ) { $post = get_post( $post, ARRAY_A ); } if ( ! $post || empty( $post['ID'] ) ) { return new WP_Error( 'invalid_post', __( 'Invalid post ID.' ) ); } if ( isset( $post['post_type'] ) && 'revision' == $post['post_type'] ) { return new WP_Error( 'post_type', __( 'Cannot create a revision of a revision' ) ); } $post = _wp_post_revision_data( $post, $autosave ); $post = wp_slash( $post ); //since data is from db $revision_id = wp_insert_post( $post ); if ( is_wp_error( $revision_id ) ) { return $revision_id; } if ( $revision_id ) { /** * Fires once a revision has been saved. * * @since 2.6.0 * * @param int $revision_id Post revision ID. */ do_action( '_wp_put_post_revision', $revision_id ); } return $revision_id; }
Expand full source code Collapse full source code View on Trac
Changelog Changelog
Version | Description |
---|---|
2.6.0 | Introduced. |