rest_get_route_for_term( int|WP_Term $term )

Gets the REST API route for a term.


Parameters Parameters

$term

(int|WP_Term) (Required) Term ID or term object.


Top ↑

Return Return

(string) The route path with a leading slash for the given term, or an empty string if there is not a route.


Top ↑

Source Source

File: wp-includes/rest-api.php

function rest_get_route_for_term( $term ) {
	$term = get_term( $term );

	if ( ! $term instanceof WP_Term ) {
		return '';
	}

	$taxonomy = get_taxonomy( $term->taxonomy );
	if ( ! $taxonomy ) {
		return '';
	}

	$controller = $taxonomy->get_rest_controller();
	if ( ! $controller ) {
		return '';
	}

	$route = '';

	// The only controller that works is the Terms controller.
	if ( $controller instanceof WP_REST_Terms_Controller ) {
		$namespace = 'wp/v2';
		$rest_base = ! empty( $taxonomy->rest_base ) ? $taxonomy->rest_base : $taxonomy->name;
		$route     = sprintf( '/%s/%s/%d', $namespace, $rest_base, $term->term_id );
	}

	/**
	 * Filters the REST API route for a term.
	 *
	 * @since 5.5.0
	 *
	 * @param string  $route The route path.
	 * @param WP_Term $term  The term object.
	 */
	return apply_filters( 'rest_route_for_term', $route, $term );
}


Top ↑

Changelog Changelog

Changelog
Version Description
5.5.0 Introduced.

Top ↑

User Contributed Notes User Contributed Notes

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