WP_REST_Server::get_namespace_index( WP_REST_Request $request ): WP_REST_Response|WP_Error

In this article

Retrieves the index for a namespace.

Parameters

$requestWP_REST_Requestrequired
REST request instance.

Return

WP_REST_Response|WP_Error WP_REST_Response instance if the index was found, WP_Error if the namespace isn’t set.

Source

public function get_namespace_index( $request ) {
	$namespace = $request['namespace'];

	if ( ! isset( $this->namespaces[ $namespace ] ) ) {
		return new WP_Error(
			'rest_invalid_namespace',
			__( 'The specified namespace could not be found.' ),
			array( 'status' => 404 )
		);
	}

	$routes    = $this->namespaces[ $namespace ];
	$endpoints = array_intersect_key( $this->get_routes(), $routes );

	$data     = array(
		'namespace' => $namespace,
		'routes'    => $this->get_data_for_routes( $endpoints, $request['context'] ),
	);
	$response = rest_ensure_response( $data );

	// Link to the root index.
	$response->add_link( 'up', rest_url( '/' ) );

	/**
	 * Filters the REST API namespace index data.
	 *
	 * This typically is just the route data for the namespace, but you can
	 * add any data you'd like here.
	 *
	 * @since 4.4.0
	 *
	 * @param WP_REST_Response $response Response data.
	 * @param WP_REST_Request  $request  Request data. The namespace is passed as the 'namespace' parameter.
	 */
	return apply_filters( 'rest_namespace_index', $response, $request );
}

Hooks

apply_filters( ‘rest_namespace_index’, WP_REST_Response $response, WP_REST_Request $request )

Filters the REST API namespace index data.

Changelog

VersionDescription
4.4.0Introduced.

User Contributed Notes

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