Spaces:
Sleeping
Sleeping
/** | |
* 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 string[] | |
*/ | |
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 string[] 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 | |
* @since 5.6.0 The `$id` parameter can accept a string. | |
* | |
* @param int|string $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 | |
* @since 5.6.0 The `$id` parameter can accept a string. | |
* | |
* @param int|string $id Item ID. | |
* @return array Links for the given item. | |
*/ | |
abstract public function prepare_item_links( $id ); | |
} | |