WP_REST_Revisions_Controller
- Since
- 4.7.0
- Source
wp-includes/rest-api/endpoints/class-wp-rest-revisions-controller.php:17
Core class used to access revisions via the REST API.
Compatibility
- WordPress
- since 4.7.0
- 6.7.7
- 6.8.8
- 6.9.7
- 7.0.4
- 7.1.0
Present in every tracked release (6.7.7 to 7.1.0).
Hooks and filters fired · 8
Every hook that fires from inside WP_REST_Revisions_Controller, in the order it appears in the class, grouped by the method that fires it.
WP_REST_Revisions_Controller::prepare_items_query()
- apply_filters( rest_query_var-{$key} )filter line 573
WP_REST_Revisions_Controller::prepare_item_for_response()
- apply_filters( rest_prepare_revision )filter line 631
- apply_filters( get_the_guid )filter line 678
- apply_filters( the_content )filter line 702
- apply_filters( rest_prepare_revision )filter line 739
Properties · 4
$parent_post_typestringprivate- Parent post type.
$metaWP_REST_Post_Meta_Fieldsprotected- Instance of a revision meta fields object.
$parent_controllerWP_REST_Controllerprivate- Parent controller.
$parent_basestringprivate- The base of the parent controller's route.
Methods · 17
- __construct()Constructor.
- register_routes()Registers the routes for revisions based on post types supporting revisions.
- get_parent()Get the parent post, if the ID is valid.
- get_items_permissions_check()Checks if a given request has access to get revisions.
- get_revision()Get the revision, if the ID is valid.
- get_items()Gets a collection of revisions.
- get_item_permissions_check()Checks if a given request has access to get a specific revision.
- get_item()Retrieves one revision from the collection.
- delete_item_permissions_check()Checks if a given request has access to delete a revision.
- delete_item()Deletes a single revision.
- prepare_items_query()Determines the allowed query_vars for a get_items() response and prepares them for WP_Query.
- prepare_item_for_response()Prepares the revision for the REST response.
- restore_post_data()Restores the global post to its previous value after preparing a revision.
- prepare_date_response()Checks the post_date_gmt or modified_gmt and prepare any post or modified date for single post output.
- get_item_schema()Retrieves the revision's schema, conforming to JSON Schema.
- get_collection_params()Retrieves the query params for collections.
- prepare_excerpt_response()Checks the post excerpt and prepare it for single post output.
Source code
class WP_REST_Revisions_Controller extends WP_REST_Controller { /** * Parent post type. * * @since 4.7.0 * @var string */ private $parent_post_type; /** * Instance of a revision meta fields object. * * @since 6.4.0 * @var WP_REST_Post_Meta_Fields */ protected $meta; /** * Parent controller. * * @since 4.7.0 * @var WP_REST_Controller */ private $parent_controller; /** * The base of the parent controller's route. * * @since 4.7.0 * @var string */ private $parent_base; /** * Constructor. * * @since 4.7.0 * * @param string $parent_post_type Post type of the parent. */ public function __construct( $parent_post_type ) { $this->parent_post_type = $parent_post_type; $post_type_object = get_post_type_object( $parent_post_type ); $parent_controller = $post_type_object->get_rest_controller(); if ( ! $parent_controller ) { $parent_controller = new WP_REST_Posts_Controller( $parent_post_type ); } $this->parent_controller = $parent_controller; $this->rest_base = 'revisions'; $this->parent_base = ! empty( $post_type_object->rest_base ) ? $post_type_object->rest_base : $post_type_object->name; $this->namespace = ! empty( $post_type_object->rest_namespace ) ? $post_type_object->rest_namespace : 'wp/v2'; $this->meta = new WP_REST_Post_Meta_Fields( $parent_post_type ); } /** * Registers the routes for revisions based on post types supporting revisions. * * @since 4.7.0 * * @see register_rest_route() */ public function register_routes() { register_rest_route( $this->namespace, '/' . $this->parent_base . '/(?P<parent>[\d]+)/' . $this->rest_base, array( 'args' => array( 'parent' => array( 'description' => __( 'The ID for the parent of the revision.' ), 'type' => 'integer', ), ), array( 'methods' => WP_REST_Server::READABLE, 'callback' => array( $this, 'get_items' ), 'permission_callback' => array( $this, 'get_items_permissions_check' ),Changelog
Introduced in 4.7.0. One change between 6.7.7 and 7.1.0.
Signature, return type and hooks compared across 5 parsed releases.
7.1.0
Method
restore_post_data() added.verified against source4.7.0
Introduced.from the docblock
About this page
- Parsed data
- Generated from the wordpress-develop 7.1.0 tag, from
src/wp-includes/rest-api/endpoints/class-wp-rest-revisions-controller.php, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it. - Corrections
- Something wrong on this page? Report it and it gets fixed in the next regeneration.