LLMS_REST_Controller::get_items( WP_REST_Request $request )
Retrieves all items
Parameters Parameters
- $request
-
(WP_REST_Request) (Required) Full details about the request.
Return Return
(WP_REST_Response|WP_Error) Response object on success, or WP_Error object on failure.
Source Source
File: libraries/lifterlms-rest/includes/abstracts/class-llms-rest-controller.php
public function get_items( $request ) { $prepared = $this->prepare_collection_query_args( $request ); if ( is_wp_error( $prepared ) ) { return $prepared; } $query = $this->get_objects_query( $prepared, $request ); $pagination = $this->get_pagination_data_from_query( $query, $prepared, $request ); // Out-of-bounds, run the query again on page one to get a proper total count. if ( $pagination['total_results'] < 1 ) { $prepared_for_total_count = $this->prepare_args_for_total_count_query( $prepared, $request ); $count_query = $this->get_objects_query( $prepared_for_total_count, $request ); $count_results = $this->get_pagination_data_from_query( $count_query, $prepared_for_total_count, $request ); $pagination['total_results'] = $count_results['total_results']; } if ( $pagination['current_page'] > $pagination['total_pages'] && $pagination['total_results'] > 0 ) { return llms_rest_bad_request_error( __( 'The page number requested is larger than the number of pages available.', 'lifterlms' ) ); } $objects = $this->get_objects_from_query( $query ); $items = $this->prepare_collection_items_for_response( $objects, $request ); $response = rest_ensure_response( $items ); $response = $this->add_header_pagination( $response, $pagination, $request ); return $response; }
Expand full source code Collapse full source code View on GitHub
Changelog Changelog
Version | Description |
---|---|
1.0.0-beta.7 | Broken into several methods so to improve abstraction. |
1.0.0-beta.3 | Fix an issue displaying a last page for lists with 0 possible results. |
1.0.0-beta.12 | Return early if prepare_collection_query_args() is a WP_Error . |
1.0.0-beta.1 | Introduced. |