mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2026-06-28 14:20:15 +00:00
Taxonomy: Allow for wp_count_terms( $args ) signature, making passing a taxonomy optional.
This brings `wp_count_terms()` in line with other taxonomy functions such as `get_terms()` which technically no longer require a taxonomy. Similar to the previously modified functions, no deprecation warning is triggered when using the legacy signature. Fixes #36399. git-svn-id: https://develop.svn.wordpress.org/trunk@48840 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
@@ -65,11 +65,34 @@ class Tests_Term extends WP_UnitTestCase {
|
||||
* @ticket 15919
|
||||
*/
|
||||
function test_wp_count_terms() {
|
||||
$count = wp_count_terms( 'category', array( 'hide_empty' => true ) );
|
||||
$count = wp_count_terms(
|
||||
array(
|
||||
'hide_empty' => true,
|
||||
'taxonomy' => 'category',
|
||||
)
|
||||
);
|
||||
// There are 5 posts, all Uncategorized.
|
||||
$this->assertEquals( 1, $count );
|
||||
}
|
||||
|
||||
/**
|
||||
* @ticket 36399
|
||||
*/
|
||||
function test_wp_count_terms_legacy_interoperability() {
|
||||
self::factory()->tag->create_many( 5 );
|
||||
|
||||
// Counts all terms (1 default category, 5 tags).
|
||||
$count = wp_count_terms();
|
||||
$this->assertEquals( 6, $count );
|
||||
|
||||
// Counts only tags (5), with both current and legacy signature.
|
||||
// Legacy usage should not trigger deprecated notice.
|
||||
$count = wp_count_terms( array( 'taxonomy' => 'post_tag' ) );
|
||||
$legacy_count = wp_count_terms( 'post_tag' );
|
||||
$this->assertEquals( 5, $count );
|
||||
$this->assertEquals( $count, $legacy_count );
|
||||
}
|
||||
|
||||
/**
|
||||
* @ticket 15475
|
||||
*/
|
||||
@@ -127,13 +150,13 @@ class Tests_Term extends WP_UnitTestCase {
|
||||
$term = rand_str();
|
||||
$this->assertNull( category_exists( $term ) );
|
||||
|
||||
$initial_count = wp_count_terms( 'category' );
|
||||
$initial_count = wp_count_terms( array( 'taxonomy' => 'category' ) );
|
||||
|
||||
$t = wp_insert_category( array( 'cat_name' => $term ) );
|
||||
$this->assertTrue( is_numeric( $t ) );
|
||||
$this->assertNotWPError( $t );
|
||||
$this->assertTrue( $t > 0 );
|
||||
$this->assertEquals( $initial_count + 1, wp_count_terms( 'category' ) );
|
||||
$this->assertEquals( $initial_count + 1, wp_count_terms( array( 'taxonomy' => 'category' ) ) );
|
||||
|
||||
// Make sure the term exists.
|
||||
$this->assertTrue( term_exists( $term ) > 0 );
|
||||
@@ -143,7 +166,7 @@ class Tests_Term extends WP_UnitTestCase {
|
||||
$this->assertTrue( wp_delete_category( $t ) );
|
||||
$this->assertNull( term_exists( $term ) );
|
||||
$this->assertNull( term_exists( $t ) );
|
||||
$this->assertEquals( $initial_count, wp_count_terms( 'category' ) );
|
||||
$this->assertEquals( $initial_count, wp_count_terms( array( 'taxonomy' => 'category' ) ) );
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user