`get_the_category_by_ID()` should be taxonomy-agnostic.
Prior to 4.9, this function was accidentally taxonomy-agnostic in most cases. The fix in [40979] caused a regression in this function. For backward compatibility, we make it explicit that the query is by ID only. See #42771. git-svn-id: https://develop.svn.wordpress.org/trunk@42367 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
8951af66d4
commit
ffb86c0552
|
@ -107,7 +107,7 @@ function get_the_category( $id = false ) {
|
|||
*/
|
||||
function get_the_category_by_ID( $cat_ID ) {
|
||||
$cat_ID = (int) $cat_ID;
|
||||
$category = get_term( $cat_ID, 'category' );
|
||||
$category = get_term( $cat_ID );
|
||||
|
||||
if ( is_wp_error( $category ) ) {
|
||||
return $category;
|
||||
|
|
|
@ -0,0 +1,53 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* @group taxonomy
|
||||
* @covers ::get_the_category_by_ID
|
||||
*/
|
||||
class Tests_Category_GetTheCategoryById extends WP_UnitTestCase {
|
||||
public function test_success() {
|
||||
$c = self::factory()->category->create( array(
|
||||
'name' => 'Foo',
|
||||
) );
|
||||
|
||||
$found = get_the_category_by_ID( $c );
|
||||
|
||||
$this->assertSame( 'Foo', $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',
|
||||
'name' => 'Foo',
|
||||
) );
|
||||
|
||||
$term = get_term( $t );
|
||||
|
||||
$found = get_the_category_by_ID( $t );
|
||||
|
||||
$this->assertSame( 'Foo', $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',
|
||||
'name' => 'Foo',
|
||||
) );
|
||||
|
||||
clean_term_cache( $t );
|
||||
|
||||
$found = get_the_category_by_ID( $t );
|
||||
|
||||
$this->assertSame( 'Foo', $found );
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue