get_edit_term_link( int $term_id, string $taxonomy = '', string $object_type = '' )

Retrieves the URL for editing a given term.

Parameters

$term_id

(int) (Required) Term ID.

$taxonomy

(string) (Optional) Taxonomy. Defaults to the taxonomy of the term identified by $term_id.

Default value: ''

$object_type

(string) (Optional) The object type. Used to highlight the proper post type menu on the linked page. Defaults to the first object_type associated with the taxonomy.

Default value: ''

Return

(string|null) The edit term link URL for the given term, or null on failure.

Source

File: wp-includes/link-template.php

function get_edit_term_link( $term_id, $taxonomy = '', $object_type = '' ) {
	$term = get_term( $term_id, $taxonomy );
	if ( ! $term || is_wp_error( $term ) ) {
		return;
	}

	$tax = get_taxonomy( $term->taxonomy );
	if ( ! $tax || ! current_user_can( 'edit_term', $term->term_id ) ) {
		return;
	}

	$args = array(
		'taxonomy' => $taxonomy,
		'tag_ID'   => $term->term_id,
	);

	if ( $object_type ) {
		$args['post_type'] = $object_type;
	} elseif ( ! empty( $tax->object_type ) ) {
		$args['post_type'] = reset( $tax->object_type );
	}

	if ( $tax->show_ui ) {
		$location = add_query_arg( $args, admin_url( 'term.php' ) );
	} else {
		$location = '';
	}

	/**
	 * Filters the edit link for a term.
	 *
	 * @since 3.1.0
	 *
	 * @param string $location    The edit link.
	 * @param int    $term_id     Term ID.
	 * @param string $taxonomy    Taxonomy name.
	 * @param string $object_type The object type (eg. the post type).
	 */
	return apply_filters( 'get_edit_term_link', $location, $term_id, $taxonomy, $object_type );
}

Changelog

Version Description
4.5.0 The $taxonomy parameter was made optional.
3.1.0 Introduced.

© 2003–2021 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/functions/get_edit_term_link