WP_REST_Taxonomies_Controller::get_items()publicWP 4.7.0

Retrieves all public taxonomies.

Method of the class: WP_REST_Taxonomies_Controller{}

No Hooks.

Return

WP_REST_Response. Response object on success, or WP_Error object on failure.

Usage

$WP_REST_Taxonomies_Controller = new WP_REST_Taxonomies_Controller();
$WP_REST_Taxonomies_Controller->get_items( $request );
$request(WP_REST_Request) (required)
Full details about the request.

Changelog

Since 4.7.0 Introduced.

WP_REST_Taxonomies_Controller::get_items() code WP 6.5.2

public function get_items( $request ) {

	// Retrieve the list of registered collection query parameters.
	$registered = $this->get_collection_params();

	if ( isset( $registered['type'] ) && ! empty( $request['type'] ) ) {
		$taxonomies = get_object_taxonomies( $request['type'], 'objects' );
	} else {
		$taxonomies = get_taxonomies( '', 'objects' );
	}

	$data = array();

	foreach ( $taxonomies as $tax_type => $value ) {
		if ( empty( $value->show_in_rest ) || ( 'edit' === $request['context'] && ! current_user_can( $value->cap->assign_terms ) ) ) {
			continue;
		}

		$tax               = $this->prepare_item_for_response( $value, $request );
		$tax               = $this->prepare_response_for_collection( $tax );
		$data[ $tax_type ] = $tax;
	}

	if ( empty( $data ) ) {
		// Response should still be returned as a JSON object when it is empty.
		$data = (object) $data;
	}

	return rest_ensure_response( $data );
}