wp/wp-includes/rest-api/endpoints/class-wp-rest-autosaves-controller.php
changeset 22 8c2e4d02f4ef
parent 21 48c4eec2b7e6
equal deleted inserted replaced
21:48c4eec2b7e6 22:8c2e4d02f4ef
   303 		$parent = $this->get_parent( $request['id'] );
   303 		$parent = $this->get_parent( $request['id'] );
   304 		if ( is_wp_error( $parent ) ) {
   304 		if ( is_wp_error( $parent ) ) {
   305 			return $parent;
   305 			return $parent;
   306 		}
   306 		}
   307 
   307 
       
   308 		if ( $request->is_method( 'HEAD' ) ) {
       
   309 			// Return early as this handler doesn't add any response headers.
       
   310 			return new WP_REST_Response( array() );
       
   311 		}
   308 		$response  = array();
   312 		$response  = array();
   309 		$parent_id = $parent->ID;
   313 		$parent_id = $parent->ID;
   310 		$revisions = wp_get_post_revisions( $parent_id, array( 'check_enabled' => false ) );
   314 		$revisions = wp_get_post_revisions( $parent_id, array( 'check_enabled' => false ) );
   311 
   315 
   312 		foreach ( $revisions as $revision ) {
   316 		foreach ( $revisions as $revision ) {
   446 	 */
   450 	 */
   447 	public function prepare_item_for_response( $item, $request ) {
   451 	public function prepare_item_for_response( $item, $request ) {
   448 		// Restores the more descriptive, specific name for use within this method.
   452 		// Restores the more descriptive, specific name for use within this method.
   449 		$post = $item;
   453 		$post = $item;
   450 
   454 
       
   455 		// Don't prepare the response body for HEAD requests.
       
   456 		if ( $request->is_method( 'HEAD' ) ) {
       
   457 			/** This filter is documented in wp-includes/rest-api/endpoints/class-wp-rest-autosaves-controller.php */
       
   458 			return apply_filters( 'rest_prepare_autosave', new WP_REST_Response( array() ), $post, $request );
       
   459 		}
   451 		$response = $this->revisions_controller->prepare_item_for_response( $post, $request );
   460 		$response = $this->revisions_controller->prepare_item_for_response( $post, $request );
   452 		$fields   = $this->get_fields_for_response( $request );
   461 		$fields   = $this->get_fields_for_response( $request );
   453 
   462 
   454 		if ( in_array( 'preview_link', $fields, true ) ) {
   463 		if ( in_array( 'preview_link', $fields, true ) ) {
   455 			$parent_id          = wp_is_post_autosave( $post );
   464 			$parent_id          = wp_is_post_autosave( $post );