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

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

Parameters Parameters


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


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


(string) (Required) Parameter name.

Top ↑

Return Return

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

Top ↑

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() );

Top ↑

Changelog Changelog

Version Description
5.0.0 Introduced.

Top ↑

User Contributed Notes User Contributed Notes

You must log in before being able to contribute a note or feedback.