Changeset 27108
- Timestamp:
- 02/06/2014 05:44:50 PM (11 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-includes/taxonomy.php
r27102 r27108 1280 1280 $args['offset'] = absint( $args['offset'] ); 1281 1281 if ( !$single_taxonomy || ! is_taxonomy_hierarchical( reset( $taxonomies ) ) || 1282 '' !== $args['parent']) {1282 ( '' !== $args['parent'] && 0 !== $args['parent'] ) ) { 1283 1283 $args['child_of'] = 0; 1284 1284 $args['hierarchical'] = false; … … 3003 3003 } 3004 3004 3005 if ( $term->term_id == $term_id ) 3005 if ( $term->term_id == $term_id ) { 3006 if ( isset( $has_children[$term_id] ) ) { 3007 foreach ( $has_children[$term_id] as $t_id ) { 3008 if ( $use_id ) { 3009 $term_list[] = $t_id; 3010 } else { 3011 $term_list[] = get_term( $t_id, $taxonomy ); 3012 } 3013 } 3014 } 3006 3015 continue; 3016 } 3007 3017 3008 3018 if ( $term->parent == $term_id ) { … … 3525 3535 * Determine if a post's cache for the passed taxonomy 3526 3536 * is in sync. 3527 * 3537 * 3528 3538 * @since 3.9.0 3529 3539 * -
trunk/tests/phpunit/tests/term/getTerms.php
r26187 r27108 7 7 function setUp() { 8 8 parent::setUp(); 9 9 10 10 _clean_term_filters(); 11 11 wp_cache_delete( 'last_changed', 'terms' ); … … 225 225 $this->assertEqualSets( array( $term_id1, $term_id2 ), $terms8 ); 226 226 } 227 228 function test_get_terms_parent_zero() { 229 $tax = 'food'; 230 register_taxonomy( $tax, 'post', array( 'hierarchical' => true ) ); 231 232 $cheese = $this->factory->term->create( array( 'name' => 'Cheese', 'taxonomy' => $tax ) ); 233 234 $cheddar = $this->factory->term->create( array( 'name' => 'Cheddar', 'parent' => $cheese, 'taxonomy' => $tax ) ); 235 236 $post_ids = $this->factory->post->create_many( 2 ); 237 foreach ( $post_ids as $id ) { 238 wp_set_post_terms( $id, $cheddar, $tax ); 239 } 240 $term = get_term( $cheddar, $tax ); 241 $this->assertEquals( 2, $term->count ); 242 243 $brie = $this->factory->term->create( array( 'name' => 'Brie', 'parent' => $cheese, 'taxonomy' => $tax ) ); 244 $post_ids = $this->factory->post->create_many( 7 ); 245 foreach ( $post_ids as $id ) { 246 wp_set_post_terms( $id, $brie, $tax ); 247 } 248 $term = get_term( $brie, $tax ); 249 $this->assertEquals( 7, $term->count ); 250 251 $crackers = $this->factory->term->create( array( 'name' => 'Crackers', 'taxonomy' => $tax ) ); 252 253 $butter = $this->factory->term->create( array( 'name' => 'Butter', 'parent' => $crackers, 'taxonomy' => $tax ) ); 254 $post_ids = $this->factory->post->create_many( 1 ); 255 foreach ( $post_ids as $id ) { 256 wp_set_post_terms( $id, $butter, $tax ); 257 } 258 $term = get_term( $butter, $tax ); 259 $this->assertEquals( 1, $term->count ); 260 261 $multigrain = $this->factory->term->create( array( 'name' => 'Multigrain', 'parent' => $crackers, 'taxonomy' => $tax ) ); 262 $post_ids = $this->factory->post->create_many( 3 ); 263 foreach ( $post_ids as $id ) { 264 wp_set_post_terms( $id, $multigrain, $tax ); 265 } 266 $term = get_term( $multigrain, $tax ); 267 $this->assertEquals( 3, $term->count ); 268 269 $fruit = $this->factory->term->create( array( 'name' => 'Fruit', 'taxonomy' => $tax ) ); 270 $cranberries = $this->factory->term->create( array( 'name' => 'Cranberries', 'parent' => $fruit, 'taxonomy' => $tax ) ); 271 272 $terms = get_terms( $tax, array( 'parent' => 0, 'cache_domain' => $tax ) ); 273 $this->assertNotEmpty( $terms ); 274 $this->assertEquals( wp_list_pluck( $terms, 'name' ), array( 'Cheese', 'Crackers' ) ); 275 } 227 276 }
Note: See TracChangeset
for help on using the changeset viewer.