Fix regression in `get_tag_link()` since 4.9.
See [42364] for description of the problem. Because `get_category_link()` is now totally taxonomy-agnostic, `get_tag_link()` can become a simple wrapper. Props juiiee8487, markjaquith. See #42771. git-svn-id: https://develop.svn.wordpress.org/trunk@42366 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
829d8bb179
commit
8951af66d4
|
@ -1111,17 +1111,7 @@ function walk_category_dropdown_tree() {
|
|||
* @return string Link on success, empty string if tag does not exist.
|
||||
*/
|
||||
function get_tag_link( $tag ) {
|
||||
if ( ! is_object( $tag ) ) {
|
||||
$tag = (int) $tag;
|
||||
}
|
||||
|
||||
$tag = get_term_link( $tag, 'post_tag' );
|
||||
|
||||
if ( is_wp_error( $tag ) ) {
|
||||
return '';
|
||||
}
|
||||
|
||||
return $tag;
|
||||
return get_category_link( $tag );
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -0,0 +1,57 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* @group taxonomy
|
||||
* @covers ::get_tag_link
|
||||
*/
|
||||
class Tests_Term_GetTagLink extends WP_UnitTestCase {
|
||||
public function test_success() {
|
||||
$t = self::factory()->term->create( array(
|
||||
'taxonomy' => 'post_tag',
|
||||
'slug' => 'term-slug',
|
||||
) );
|
||||
|
||||
$found = get_tag_link( $t );
|
||||
$expected = home_url( '?tag=term-slug' );
|
||||
|
||||
$this->assertSame( $expected, $found );
|
||||
}
|
||||
|
||||
/**
|
||||
* @ticket 42771
|
||||
*/
|
||||
public function test_should_return_link_for_term_from_another_taxonomy_on_primed_cache() {
|
||||
register_taxonomy( 'wptests_tax', 'post' );
|
||||
|
||||
$t = self::factory()->term->create( array(
|
||||
'taxonomy' => 'wptests_tax',
|
||||
'slug' => 'test-term',
|
||||
) );
|
||||
|
||||
$term = get_term( $t );
|
||||
|
||||
$found = get_tag_link( $t );
|
||||
$expected = home_url( '?wptests_tax=test-term' );
|
||||
|
||||
$this->assertSame( $expected, $found );
|
||||
}
|
||||
|
||||
/**
|
||||
* @ticket 42771
|
||||
*/
|
||||
public function test_should_return_link_for_term_from_another_taxonomy_on_empty_cache() {
|
||||
register_taxonomy( 'wptests_tax', 'post' );
|
||||
|
||||
$t = self::factory()->term->create( array(
|
||||
'taxonomy' => 'wptests_tax',
|
||||
'slug' => 'test-term',
|
||||
) );
|
||||
|
||||
clean_term_cache( $t );
|
||||
|
||||
$found = get_tag_link( $t );
|
||||
$expected = home_url( '?wptests_tax=test-term' );
|
||||
|
||||
$this->assertSame( $expected, $found );
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue