Summery Summery

Sanitizes the list of subtypes, to ensure only subtypes of the passed type are included.

Syntax Syntax

WP_REST_Search_Controller::sanitize_subtypes( string|array $subtypes, WP_REST_Request $request, string $parameter )

Parameters Parameters


(string|array) (Required) One or more subtypes.


(WP_REST_Request) (Required) Full details about the request.


(string) (Required) Parameter name.

Return Return

(array|WP_Error) List of valid subtypes, or WP_Error object on failure.

Source Source

File: wp-includes/rest-api/endpoints/class-wp-rest-search-controller.php

	public function sanitize_subtypes( $subtypes, $request, $parameter ) {
		$subtypes = wp_parse_slug_list( $subtypes );

		$subtypes = rest_parse_request_arg( $subtypes, $request, $parameter );
		if ( is_wp_error( $subtypes ) ) {
			return $subtypes;

		// 'any' overrides any other subtype.
		if ( in_array( self::TYPE_ANY, $subtypes, true ) ) {
			return array( self::TYPE_ANY );

		$handler = $this->get_search_handler( $request );
		if ( is_wp_error( $handler ) ) {
			return $handler;

		return array_intersect( $subtypes, $handler->get_subtypes() );


Changelog Changelog

Version Description
5.0.0 Introduced.


Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.