Skip to content

Commit ff72886

Browse files
committed
fix: improve pagination
1 parent c0aa1a7 commit ff72886

File tree

1 file changed

+7
-11
lines changed

1 file changed

+7
-11
lines changed

src/php/rest-api/class-snippets-rest-controller.php

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -199,20 +199,15 @@ public function get_items( $request ): WP_REST_Response {
199199
$network = $request->get_param( 'network' );
200200
$all_snippets = get_snippets( [], $network );
201201

202-
// Collection params (page, per_page).
202+
// Get collection params (page, per_page).
203203
$collection_params = $this->get_collection_params();
204-
$per_page = (int) $request->get_param( 'per_page' );
205-
if ( ! $per_page ) {
206-
$per_page = isset( $collection_params['per_page']['default'] ) ? (int) $collection_params['per_page']['default'] : 10;
207-
}
208-
$per_page = max( 1, $per_page );
204+
$per_page_request = (int) $request->get_param( 'per_page' );
205+
$per_page = max( 1, $per_page_request ? $per_page_request : (int) $collection_params['per_page']['default'] );
209206

210-
$page = (int) $request->get_param( 'page' );
211-
if ( ! $page ) {
212-
$page = isset( $collection_params['page']['default'] ) ? (int) $collection_params['page']['default'] : 1;
213-
}
214-
$page = max( 1, $page );
207+
$page_request = (int) $request->get_param( 'page' );
208+
$page = max( 1, $page_request ? $page_request : (int) $collection_params['page']['default'] );
215209

210+
// Count total items
216211
$total_items = count( $all_snippets );
217212
$total_pages = (int) ceil( $total_items / $per_page );
218213

@@ -221,6 +216,7 @@ public function get_items( $request ): WP_REST_Response {
221216
$snippets = array_slice( $all_snippets, $offset, $per_page );
222217

223218
$snippets_data = [];
219+
224220
foreach ( $snippets as $snippet ) {
225221
$snippet_data = $this->prepare_item_for_response( $snippet, $request );
226222
$snippets_data[] = $this->prepare_response_for_collection( $snippet_data );

0 commit comments

Comments
 (0)