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

  1. if ( !function_exists( 'get_edit_term_link' ) ) { 
  2. require_once ABSPATH . WPINC . '/link-template.php'; 
  3.  
  4. // The term id. 
  5. $term_id = -1; 
  6.  
  7. // Optional. Taxonomy. Defaults to the taxonomy of the term identified 
  8. // by `$term_id`. 
  9. $taxonomy = ''; 
  10. $object_type = ''; 
  11.  
  12. // NOTICE! Understand what this does before running. 
  13. $result = get_edit_term_link($term_id, $taxonomy, $object_type); 
  14.  

Defined (1)

The function is defined in the following location(s).

/wp-includes/link-template.php  
  1. function get_edit_term_link( $term_id, $taxonomy = '', $object_type = '' ) { 
  2. $term = get_term( $term_id, $taxonomy ); 
  3. if ( ! $term || is_wp_error( $term ) ) { 
  4. return; 
  5.  
  6. $tax = get_taxonomy( $term->taxonomy ); 
  7. if ( ! $tax || ! current_user_can( 'edit_term', $term->term_id ) ) { 
  8. return; 
  9.  
  10. $args = array( 
  11. 'taxonomy' => $taxonomy,  
  12. 'tag_ID' => $term->term_id,  
  13. ); 
  14.  
  15. if ( $object_type ) { 
  16. $args['post_type'] = $object_type; 
  17. } elseif ( ! empty( $tax->object_type ) ) { 
  18. $args['post_type'] = reset( $tax->object_type ); 
  19.  
  20. if ( $tax->show_ui ) { 
  21. $location = add_query_arg( $args, admin_url( 'term.php' ) ); 
  22. } else { 
  23. $location = ''; 
  24.  
  25. /** 
  26. * Filters the edit link for a term. 
  27. * @since 3.1.0 
  28. * @param string $location The edit link. 
  29. * @param int $term_id Term ID. 
  30. * @param string $taxonomy Taxonomy name. 
  31. * @param string $object_type The object type (eg. the post type). 
  32. */ 
  33. return apply_filters( 'get_edit_term_link', $location, $term_id, $taxonomy, $object_type );