Automattic\WooCommerce\Admin\API\Reports
GenericController::add_pagination_headers
Add pagination headers and links.
Method of the class: GenericController{}
No Hooks.
Returns
\WP_REST_Response.
Usage
$GenericController = new GenericController(); $GenericController->add_pagination_headers( $request, $response, $total, $page, $max_pages );
- $request(WP_REST_Request) (required)
- Request data.
- $response(WP_REST_Response|array) (required)
- Response data.
- $total(int) (required)
- Total results.
- $page(int) (required)
- Current page.
- $max_pages(int) (required)
- Total amount of pages.
GenericController::add_pagination_headers() GenericController::add pagination headers code WC 10.3.6
public function add_pagination_headers( $request, $response, int $total, int $page, int $max_pages ) {
$response = rest_ensure_response( $response );
$response->header( 'X-WP-Total', $total );
$response->header( 'X-WP-TotalPages', $max_pages );
$base = add_query_arg(
$request->get_query_params(),
rest_url( sprintf( '/%s/%s', $this->namespace, $this->rest_base ) )
);
if ( $page > 1 ) {
$prev_page = $page - 1;
if ( $prev_page > $max_pages ) {
$prev_page = $max_pages;
}
$prev_link = add_query_arg( 'page', $prev_page, $base );
$response->link_header( 'prev', $prev_link );
}
if ( $max_pages > $page ) {
$next_page = $page + 1;
$next_link = add_query_arg( 'page', $next_page, $base );
$response->link_header( 'next', $next_link );
}
return $response;
}