edit_term_link()WP 3.1.0

Displays/retrieves edit term link (html tag A), link to edit the specified taxonomy element.

Use get_edit_term_link() to get edit term URL (not A tag).

Used By: edit_tag_link()
Hooks from the function

Return

String|null. <a> HTML tag. null when the user has no cap to edit the term.

Usage

edit_term_link( $link, $before, $after, $term, $display );
$link(string)
Anchor text. If empty. Default empty.
Default: 'Edit This'
$before(string)
Display before edit link.
Default: ''
$after(string)
Display after edit link.
Default: ''
$term(int|WP_Term|null)
Term ID or object. If null, the queried object will be inspected.
Default: null
$display(true|false)
Whether or not to echo the return.
Default: true

Examples

0

#1 Display link to edit the current term

It is assumed that the link is displayed on a term archive page.

edit_term_link();

// displays:
// <a href="http://example.com/wp-admin/edit-tags.php?action=edit&taxonomy=funccat&tag_ID=154&post_type=func">Edit</a>
0

#2 Output a link to edit the specified term

$term = get_term( 154 );

edit_term_link( 'Edit term', '', '', $term, 0 );

// displays:
// <a href="http://example.com/wp-admin/edit-tags.php?action=edit&taxonomy=funccat&tag_ID=154&post_type=func">Edit term</a>

Changelog

Since 3.1.0 Introduced.

edit_term_link() code WP 6.4.3

function edit_term_link( $link = '', $before = '', $after = '', $term = null, $display = true ) {
	if ( is_null( $term ) ) {
		$term = get_queried_object();
	} else {
		$term = get_term( $term );
	}

	if ( ! $term ) {
		return;
	}

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

	if ( empty( $link ) ) {
		$link = __( 'Edit This' );
	}

	$link = '<a href="' . get_edit_term_link( $term->term_id, $term->taxonomy ) . '">' . $link . '</a>';

	/**
	 * Filters the anchor tag for the edit link of a term.
	 *
	 * @since 3.1.0
	 *
	 * @param string $link    The anchor tag for the edit link.
	 * @param int    $term_id Term ID.
	 */
	$link = $before . apply_filters( 'edit_term_link', $link, $term->term_id ) . $after;

	if ( $display ) {
		echo $link;
	} else {
		return $link;
	}
}