wp/wp-includes/rest-api/endpoints/class-wp-rest-autosaves-controller.php
changeset 19 3d72ae0968f4
parent 18 be944660c56a
child 21 48c4eec2b7e6
equal deleted inserted replaced
18:be944660c56a 19:3d72ae0968f4
    35 
    35 
    36 	/**
    36 	/**
    37 	 * Revision controller.
    37 	 * Revision controller.
    38 	 *
    38 	 *
    39 	 * @since 5.0.0
    39 	 * @since 5.0.0
    40 	 * @var WP_REST_Controller
    40 	 * @var WP_REST_Revisions_Controller
    41 	 */
    41 	 */
    42 	private $revisions_controller;
    42 	private $revisions_controller;
    43 
    43 
    44 	/**
    44 	/**
    45 	 * The base of the parent controller's route.
    45 	 * The base of the parent controller's route.
    65 			$parent_controller = new WP_REST_Posts_Controller( $parent_post_type );
    65 			$parent_controller = new WP_REST_Posts_Controller( $parent_post_type );
    66 		}
    66 		}
    67 
    67 
    68 		$this->parent_controller    = $parent_controller;
    68 		$this->parent_controller    = $parent_controller;
    69 		$this->revisions_controller = new WP_REST_Revisions_Controller( $parent_post_type );
    69 		$this->revisions_controller = new WP_REST_Revisions_Controller( $parent_post_type );
    70 		$this->namespace            = 'wp/v2';
       
    71 		$this->rest_base            = 'autosaves';
    70 		$this->rest_base            = 'autosaves';
       
    71 		$this->namespace            = ! empty( $post_type_object->rest_namespace ) ? $post_type_object->rest_namespace : 'wp/v2';
    72 		$this->parent_base          = ! empty( $post_type_object->rest_base ) ? $post_type_object->rest_base : $post_type_object->name;
    72 		$this->parent_base          = ! empty( $post_type_object->rest_base ) ? $post_type_object->rest_base : $post_type_object->name;
    73 	}
    73 	}
    74 
    74 
    75 	/**
    75 	/**
    76 	 * Registers the routes for autosaves.
    76 	 * Registers the routes for autosaves.
   394 
   394 
   395 	/**
   395 	/**
   396 	 * Prepares the revision for the REST response.
   396 	 * Prepares the revision for the REST response.
   397 	 *
   397 	 *
   398 	 * @since 5.0.0
   398 	 * @since 5.0.0
   399 	 *
   399 	 * @since 5.9.0 Renamed `$post` to `$item` to match parent class for PHP 8 named parameter support.
   400 	 * @param WP_Post         $post    Post revision object.
   400 	 *
       
   401 	 * @param WP_Post         $item    Post revision object.
   401 	 * @param WP_REST_Request $request Request object.
   402 	 * @param WP_REST_Request $request Request object.
   402 	 * @return WP_REST_Response Response object.
   403 	 * @return WP_REST_Response Response object.
   403 	 */
   404 	 */
   404 	public function prepare_item_for_response( $post, $request ) {
   405 	public function prepare_item_for_response( $item, $request ) {
   405 
   406 		// Restores the more descriptive, specific name for use within this method.
       
   407 		$post     = $item;
   406 		$response = $this->revisions_controller->prepare_item_for_response( $post, $request );
   408 		$response = $this->revisions_controller->prepare_item_for_response( $post, $request );
   407 
   409 
   408 		$fields = $this->get_fields_for_response( $request );
   410 		$fields = $this->get_fields_for_response( $request );
   409 
   411 
   410 		if ( in_array( 'preview_link', $fields, true ) ) {
   412 		if ( in_array( 'preview_link', $fields, true ) ) {