1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
|
<?php /** * REST API: WP_REST_Search_Handler class * * @package WordPress * @subpackage REST_API * @since 5.0.0 */
/** * Core base class representing a search handler for an object type in the REST API. * * @since 5.0.0 */ abstract class WP_REST_Search_Handler {
/** * Field containing the IDs in the search result. */ const RESULT_IDS = 'ids';
/** * Field containing the total count in the search result. */ const RESULT_TOTAL = 'total';
/** * Object type managed by this search handler. * * @since 5.0.0 * @var string */ protected $type = '';
/** * Object subtypes managed by this search handler. * * @since 5.0.0 * @var array */ protected $subtypes = array();
/** * Gets the object type managed by this search handler. * * @since 5.0.0 * * @return string Object type identifier. */ public function get_type() { return $this->type; }
/** * Gets the object subtypes managed by this search handler. * * @since 5.0.0 * * @return array Array of object subtype identifiers. */ public function get_subtypes() { return $this->subtypes; }
/** * Searches the object type content for a given search request. * * @since 5.0.0 * * @param WP_REST_Request $request Full REST request. * @return array Associative array containing an `WP_REST_Search_Handler::RESULT_IDS` containing * an array of found IDs and `WP_REST_Search_Handler::RESULT_TOTAL` containing the * total count for the matching search results. */ abstract public function search_items( WP_REST_Request $request );
/** * Prepares the search result for a given ID. * * @since 5.0.0 * * @param int $id Item ID. * @param array $fields Fields to include for the item. * @return array Associative array containing all fields for the item. */ abstract public function prepare_item( $id, array $fields );
/** * Prepares links for the search result of a given ID. * * @since 5.0.0 * * @param int $id Item ID. * @return array Links for the given item. */ abstract public function prepare_item_links( $id ); }
|