mirror of
git://develop.git.wordpress.org/
synced 2025-03-21 12:29:53 +01:00
Taxonomy: Use WP_Term
object to retrieve the taxonomy in get_term_feed_link()
.
This change fixes a backward compatibility issue introduced in [52180] where `get_term_feed_link()` did not honor the `$taxonomy` parameter anymore. Rather than using the default `category` taxonomy when passing a term ID in `get_term_feed_link()`, use the `WP_Term` object to get the taxonomy. Follow-up to [52180]. Props hugod. Fixes #50225. git-svn-id: https://develop.svn.wordpress.org/trunk@52255 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
2bf2496342
commit
7b9e33a1e7
@ -930,14 +930,13 @@ function get_category_feed_link( $cat, $feed = '' ) {
|
||||
*/
|
||||
function get_term_feed_link( $term, $taxonomy = '', $feed = '' ) {
|
||||
if ( ! is_object( $term ) ) {
|
||||
$term = (int) $term;
|
||||
$taxonomy = 'category';
|
||||
} elseif ( ! $term instanceof WP_Term ) {
|
||||
$taxonomy = $term->taxonomy;
|
||||
$term = (int) $term;
|
||||
}
|
||||
|
||||
$term = get_term( $term, $taxonomy );
|
||||
|
||||
$taxonomy = $term->taxonomy;
|
||||
|
||||
if ( empty( $term ) || is_wp_error( $term ) ) {
|
||||
return false;
|
||||
}
|
||||
|
@ -265,6 +265,28 @@ class Tests_Term_GetTermLink extends WP_UnitTestCase {
|
||||
get_term_link( get_term( $term, $taxonomy ), $taxonomy );
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider data_get_term_link
|
||||
*
|
||||
* @ticket 50225
|
||||
*
|
||||
* @param string $taxonomy Taxonomy been tested (used for index of term keys).
|
||||
* @param bool $use_id When true, pass term ID. Else, skip the test.
|
||||
*/
|
||||
public function test_get_term_feed_link_backward_compatibility( $taxonomy, $use_id ) {
|
||||
if ( $use_id ) {
|
||||
$term = $this->get_term( $taxonomy, $use_id );
|
||||
|
||||
$term_feed_link = get_term_feed_link( $term, $taxonomy );
|
||||
$this->assertIsString( $term_feed_link );
|
||||
|
||||
$term_feed_link = get_term_feed_link( $term, '' );
|
||||
$this->assertIsString( $term_feed_link );
|
||||
} else {
|
||||
$this->markTestSkipped( 'This test requires to pass an id to get_term_feed_link()' );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Data provider.
|
||||
*
|
||||
|
Loading…
x
Reference in New Issue
Block a user