返回介绍

wp_restore_post_revision()

发布于 2017-09-11 12:46:29 字数 2853 浏览 941 评论 0 收藏 0

wp_restore_post_revision( int|WP_Post $revision_id,  array $fields = null )

Restores a post to the specified revision.


description

Can restore a past revision using all fields of the post revision, or only selected fields.


参数

$revision_id

(int|WP_Post) (Required) Revision ID or revision object.

$fields

(array) (Optional) What fields to restore from. Defaults to all.

Default value: null


返回值

(int|false|null) Null if error, false if no fields to restore, (int) post ID if success.


源代码

File: wp-includes/revision.php

function wp_restore_post_revision( $revision_id, $fields = null ) {
	if ( !$revision = wp_get_post_revision( $revision_id, ARRAY_A ) )
		return $revision;

	if ( !is_array( $fields ) )
		$fields = array_keys( _wp_post_revision_fields( $revision ) );

	$update = array();
	foreach ( array_intersect( array_keys( $revision ), $fields ) as $field ) {
		$update[$field] = $revision[$field];
	}

	if ( !$update )
		return false;

	$update['ID'] = $revision['post_parent'];

	$update = wp_slash( $update ); //since data is from db

	$post_id = wp_update_post( $update );
	if ( ! $post_id || is_wp_error( $post_id ) )
		return $post_id;

	// Update last edit user
	update_post_meta( $post_id, '_edit_last', get_current_user_id() );

	/**
	 * Fires after a post revision has been restored.
	 *
	 * @since 2.6.0
	 *
	 * @param int $post_id     Post ID.
	 * @param int $revision_id Post revision ID.
	 */
	do_action( 'wp_restore_post_revision', $post_id, $revision['ID'] );

	return $post_id;
}

更新日志

Versiondescription
2.6.0Introduced.

相关函数

Uses

  • wp-includes/formatting.php: wp_slash()
  • wp-includes/plugin.php: do_action()
  • wp-includes/user.php: get_current_user_id()
  • wp-includes/post.php: wp_update_post()
  • wp-includes/post.php: update_post_meta()
  • wp-includes/revision.php: wp_get_post_revision()
  • wp-includes/revision.php: wp_restore_post_revision
  • wp-includes/revision.php: _wp_post_revision_fields()
  • wp-includes/load.php: is_wp_error()
  • Show 4 more uses Hide more uses

Used By

  • wp-includes/class-wp-xmlrpc-server.php: wp_xmlrpc_server::wp_restoreRevision()

User Contributed Notes

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文