wp_xmlrpc_server::wp_restoreRevision() WordPress Method
The wp_xmlrpc_server::wp_restoreRevision() method is used to restore a specific revision of a post. This is useful if you accidentally make changes to a post and want to undo them, or if you want to view an older version of a post. To use this method, you need to pass in the ID of the post you want to restore, as well as the ID of the revision you want to restore. The method will then return the restored post.
wp_xmlrpc_server::wp_restoreRevision( array $args ) #
Restore a post revision
Parameters
- $args
(array)(Required)Method arguments. Note: arguments must be ordered as documented.
- 'blog_id'
(int) (unused) - 'username'
(string) - 'password'
(string) - 'revision_id'
(int)
- 'blog_id'
Return
(bool|IXR_Error) false if there was an error restoring, true if success.
Source
File: wp-includes/class-wp-xmlrpc-server.php
public function wp_restoreRevision( $args ) { if ( ! $this->minimum_args( $args, 3 ) ) { return $this->error; } $this->escape( $args ); $username = $args[1]; $password = $args[2]; $revision_id = (int) $args[3]; $user = $this->login( $username, $password ); if ( ! $user ) { return $this->error; } /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */ do_action( 'xmlrpc_call', 'wp.restoreRevision', $args, $this ); $revision = wp_get_post_revision( $revision_id ); if ( ! $revision ) { return new IXR_Error( 404, __( 'Invalid post ID.' ) ); } if ( wp_is_post_autosave( $revision ) ) { return new IXR_Error( 404, __( 'Invalid post ID.' ) ); } $post = get_post( $revision->post_parent ); if ( ! $post ) { return new IXR_Error( 404, __( 'Invalid post ID.' ) ); } if ( ! current_user_can( 'edit_post', $revision->post_parent ) ) { return new IXR_Error( 401, __( 'Sorry, you are not allowed to edit this post.' ) ); } // Check if revisions are disabled. if ( ! wp_revisions_enabled( $post ) ) { return new IXR_Error( 401, __( 'Sorry, revisions are disabled.' ) ); } $post = wp_restore_post_revision( $revision_id ); return (bool) $post; }
Expand full source codeCollapse full source codeView on TracView on GitHub
Changelog
Version | Description |
---|---|
3.5.0 | Introduced. |