将帖子数据作为帖子修订发布到posts表中。
原型
_wp_put_post_revision( int|WP_Post|array|null $post = null, bool $autosave = false )
参数
$post
(int|WP_Post|array|null)
(Optional)
帖子ID,帖子对象或帖子数组。
$autosave
(bool)
(Optional)
修订版是自动保存的吗?
返回值
(int|WP_Error)
源文件
路径:wp-includes/revision.php
<?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;
}
...
?>
其他
英文文档:https://developer.wordpress.org/reference/functions/_wp_put_post_revision/