LLMS_REST_Controller::add_header_pagination( WP_REST_Response $response, array $pagination, WP_REST_Request $request )
Add pagination info and links to the response header.
Parameters Parameters
- $response
-
(WP_REST_Response) (Required) Current response being served.
- $pagination
-
(array) (Required) Pagination array.
- $request
-
(WP_REST_Request) (Required) Full details about the request.
Return Return
(WP_REST_Response)
Source Source
File: libraries/lifterlms-rest/includes/abstracts/class-llms-rest-controller.php
protected function add_header_pagination( $response, $pagination, $request ) { $response->header( 'X-WP-Total', $pagination['total_results'] ); $response->header( 'X-WP-TotalPages', $pagination['total_pages'] ); $base = add_query_arg( urlencode_deep( $request->get_query_params() ), rest_url( $request->get_route() ) ); // First page link. if ( 1 !== $pagination['current_page'] ) { $first_link = add_query_arg( 'page', 1, $base ); $response->link_header( 'first', $first_link ); } // Previous page link. if ( $pagination['current_page'] > 1 ) { $prev_page = $pagination['current_page'] - 1; if ( $prev_page > $pagination['total_pages'] ) { $prev_page = $pagination['total_pages']; } $prev_link = add_query_arg( 'page', $prev_page, $base ); $response->link_header( 'prev', $prev_link ); } // Next page link. if ( $pagination['total_pages'] > $pagination['current_page'] ) { $next_link = add_query_arg( 'page', $pagination['current_page'] + 1, $base ); $response->link_header( 'next', $next_link ); } // Last page link. if ( $pagination['total_pages'] && $pagination['total_pages'] !== $pagination['current_page'] ) { $last_link = add_query_arg( 'page', $pagination['total_pages'], $base ); $response->link_header( 'last', $last_link ); } return $response; }
Expand full source code Collapse full source code View on GitHub
Changelog Changelog
Version | Description |
---|---|
1.0.0-beta.7 | Introduced. |