get_edit_term_link
Retrieves the URL for editing a given term.
Description
(string|null) get_edit_term_link( (int) $term_id, (string) $taxonomy = '', (string) $object_type = '' );
Returns (string|null)
The edit term link URL for the given term, or null on failure.
Parameters (3)
- 0. $term_id (int)
- The term id.
- 1. $taxonomy — Optional. (string) =>
''
- Taxonomy. Defaults to the taxonomy of the term identified by
$term_id
.. - 2. $object_type — Optional. (string) =>
''
- 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.
Usage
if ( !function_exists( 'get_edit_term_link' ) ) { require_once ABSPATH . WPINC . '/link-template.php'; } // The term id. $term_id = -1; // Optional. Taxonomy. Defaults to the taxonomy of the term identified // by `$term_id`. $taxonomy = ''; $object_type = ''; // NOTICE! Understand what this does before running. $result = get_edit_term_link($term_id, $taxonomy, $object_type);
Defined (1)
The function is defined in the following location(s).
- /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 );
- }