Переглянути джерело

:recycle: re-paginating by-alpha return

tags/0.9.0
J 4 роки тому
джерело
коміт
58afbe52c8

+ 17
- 1
plugins/cia-endpoints/includes/class.make-sortby.php Переглянути файл

@@ -33,7 +33,23 @@ class Make_Sort_By extends WP_REST_Controller {
33 33
         ));
34 34
         wp_reset_postdata();
35 35
 
36
-        return new WP_REST_Response( $this->prepare_items_for_reponse($res), 200 );
36
+        // Get parameters from request,
37
+        // /?limit=<num>&?orderby=<str>&?order=<str>
38
+        $args = array(
39
+            'posts_per_page' => -1,
40
+            'page' => 1
41
+        );
42
+        $params = $request->get_params();
43
+        if(intval($params['limit']) > 0) {
44
+            $args['posts_per_page'] = intval($params['limit']);
45
+        }
46
+        if(intval($params['p']) > 1) {
47
+            $args['page'] = intval($params['p']);
48
+        }
49
+        $index_from_page = $args['page'] - 1;
50
+        $offset = array_chunk($res, $args['posts_per_page']);
51
+        $page = $offset[$index_from_page];
52
+        return new WP_REST_Response( $this->prepare_items_for_reponse($page), 200 );
37 53
     }
38 54
 
39 55
     public function by_material( $request ) {

Завантаження…
Відмінити
Зберегти