Make WordPress Core


Ignore:
Timestamp:
11/16/2021 02:55:04 PM (4 years ago)
Author:
hellofromTonya
Message:

Taxonomy: Allow get_*_*_link() and edit_term_link() functions to accept a term ID, WP_Term, or term object.

get_term() accepts a term ID, instance of WP_Term, or an object (i.e. stdClass as a result of a db query). Functions that use get_term() also now allow for the same data types.

Why? For consistency, removing extra processing code in consuming functions, and performance.

Functions changed in this commit are:

  • get_category_feed_link()
  • get_term_feed_link()
  • get_tag_feed_link()
  • get_edit_tag_link()
  • get_edit_term_link()
  • edit_term_link()

For each of consumer of these functions, changes to pass the object instead of the term ID.

Includes unit/integration tests for test coverage of these changes.

Follow-up to [6365], [9136], [9340], [14711], [15792], [15800], [18827], [32606], [36646], [37252].

Props davidbinda, johnbillion, peterwilsoncc, hellofromTonya, sergeybiryukov, mista-flo, hareesh-pillai, audrasjb, jeffpaul, chaion07.
Fixes #50225.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-includes/category-template.php

    r51837 r52180  
    738738    foreach ( $tags as $key => $tag ) {
    739739        if ( 'edit' === $args['link'] ) {
    740             $link = get_edit_term_link( $tag->term_id, $tag->taxonomy, $args['post_type'] );
     740            $link = get_edit_term_link( $tag, $tag->taxonomy, $args['post_type'] );
    741741        } else {
    742             $link = get_term_link( (int) $tag->term_id, $tag->taxonomy );
     742            $link = get_term_link( $tag, $tag->taxonomy );
    743743        }
    744744
Note: See TracChangeset for help on using the changeset viewer.