wp_get_post_revision example

$revision_id = absint( $revision );

$from = is_numeric( $from ) ? absint( $from ) : null;
if ( ! $revision_id ) {
    $revision_id = absint( $to );
}
$redirect = 'edit.php';

switch ( $action ) {
    case 'restore':
        $revision = wp_get_post_revision( $revision_id );
        if ( ! $revision ) {
            break;
        }

        if ( ! current_user_can( 'edit_post', $revision->post_parent ) ) {
            break;
        }

        $post = get_post( $revision->post_parent );
        if ( ! $post ) {
            break;
        }


/** * Determines if the specified post is a revision. * * @since 2.6.0 * * @param int|WP_Post $post Post ID or post object. * @return int|false ID of revision's parent on success, false if not a revision. */
function wp_is_post_revision( $post ) {
    $post = wp_get_post_revision( $post );

    if ( ! $post ) {
        return false;
    }

    return (int) $post->post_parent;
}

/** * Determines if the specified post is an autosave. * * @since 2.6.0 * * @param int|WP_Post $post Post ID or post object. * @return int|false ID of autosave's parent on success, false if not a revision. */
$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.' ) );
        }
Home | Imprint | This part of the site doesn't use cookies.