LLMS_REST_Posts_Controller::prepare_item_for_response( LLMS_Post_Model $object, WP_REST_Request $request )
Prepare a single item for the REST response
Parameters Parameters
- $object
-
(LLMS_Post_Model) (Required) LLMS post object.
- $request
-
(WP_REST_Request) (Required) Request object.
Return Return
(WP_Error|WP_REST_Response) Response object on success, or WP_Error object on failure.
Source Source
File: libraries/lifterlms-rest/includes/abstracts/class-llms-rest-posts-controller.php
public function prepare_item_for_response( $object, $request ) { $context = ! empty( $request['context'] ) ? $request['context'] : 'view'; // Need to set the global $post because of references to the global $post when e.g. filtering the content, or processing blocks/shortcodes. global $post; $temp = $post; $post = $object->get( 'post' ); // phpcs:ignore setup_postdata( $post ); $removed_filters_for_response = $this->maybe_remove_filters_for_response( $object ); $has_password_filter = false; if ( $this->can_access_password_content( $object, $request ) ) { // Allow access to the post, permissions already checked before. add_filter( 'post_password_required', '__return_false' ); $has_password_filter = true; } $data = $this->prepare_object_for_response( $object, $request ); if ( $has_password_filter ) { // Reset filter. remove_filter( 'post_password_required', '__return_false' ); } $this->maybe_add_removed_filters_for_response( $removed_filters_for_response ); $post = $temp; // phpcs:ignore wp_reset_postdata(); // Filter data including only schema props. $data = array_intersect_key( $data, array_flip( $this->get_fields_for_response( $request ) ) ); // Filter data by context. E.g. in "view" mode the password property won't be allowed. $data = $this->filter_response_by_context( $data, $context ); // Wrap the data in a response object. $response = rest_ensure_response( $data ); $response->add_links( $this->prepare_links( $object, $request ) ); return $response; }
Expand full source code Collapse full source code View on GitHub
Changelog Changelog
Version | Description |
---|---|
1.0.0-beta.14 | Pass the $request parameter to prepare_links() . |
1.0.0-beta.1 | Introduced. |