Changeset 31285
- Timestamp:
- 01/26/2015 07:03:09 PM (10 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-includes/taxonomy.php
r31284 r31285 1888 1888 case 'ids': 1889 1889 case 'id=>parent': 1890 $selects = array( 't.term_id', 'tt.parent', 'tt.count' );1890 $selects = array( 't.term_id', 'tt.parent', 'tt.count', 'tt.taxonomy' ); 1891 1891 break; 1892 1892 case 'names': 1893 $selects = array( 't.term_id', 'tt.parent', 'tt.count', 't.name' );1893 $selects = array( 't.term_id', 'tt.parent', 'tt.count', 't.name', 'tt.taxonomy' ); 1894 1894 break; 1895 1895 case 'count': … … 1899 1899 break; 1900 1900 case 'id=>name': 1901 $selects = array( 't.term_id', 't.name', 'tt.count' );1901 $selects = array( 't.term_id', 't.name', 'tt.count', 'tt.taxonomy' ); 1902 1902 break; 1903 1903 case 'id=>slug': 1904 $selects = array( 't.term_id', 't.slug', 'tt.count' );1904 $selects = array( 't.term_id', 't.slug', 'tt.count', 'tt.taxonomy' ); 1905 1905 break; 1906 1906 } … … 1975 1975 } 1976 1976 } 1977 1977 1978 // Make sure we show empty categories that have children. 1978 1979 if ( $hierarchical && $args['hide_empty'] && is_array( $terms ) ) { 1979 1980 foreach ( $terms as $k => $term ) { 1980 1981 if ( ! $term->count ) { 1981 $children = get_term_children( $term->term_id, reset( $taxonomies ));1982 $children = get_term_children( $term->term_id, $term->taxonomy ); 1982 1983 if ( is_array( $children ) ) { 1983 1984 foreach ( $children as $child_id ) { 1984 $child = get_term( $child_id, reset( $taxonomies ));1985 $child = get_term( $child_id, $term->taxonomy ); 1985 1986 if ( $child->count ) { 1986 1987 continue 2; -
trunk/tests/phpunit/tests/term/getTerms.php
r31284 r31285 1071 1071 1072 1072 /** 1073 * @ticket 31118 1074 */ 1075 public function test_hierarchical_should_recurse_properly_for_all_taxonomies() { 1076 register_taxonomy( 'wptests_tax1', 'post', array( 'hierarchical' => true ) ); 1077 register_taxonomy( 'wptests_tax2', 'post', array( 'hierarchical' => true ) ); 1078 1079 $t1 = $this->factory->term->create( array( 'taxonomy' => 'wptests_tax1' ) ); 1080 $t2 = $this->factory->term->create( array( 'taxonomy' => 'wptests_tax1', 'parent' => $t1 ) ); 1081 $t3 = $this->factory->term->create( array( 'taxonomy' => 'wptests_tax1', 'parent' => $t2 ) ); 1082 1083 $t4 = $this->factory->term->create( array( 'taxonomy' => 'wptests_tax2' ) ); 1084 $t5 = $this->factory->term->create( array( 'taxonomy' => 'wptests_tax2', 'parent' => $t4 ) ); 1085 $t6 = $this->factory->term->create( array( 'taxonomy' => 'wptests_tax2', 'parent' => $t5 ) ); 1086 1087 $p = $this->factory->post->create(); 1088 1089 wp_set_object_terms( $p, $t3, 'wptests_tax1' ); 1090 wp_set_object_terms( $p, $t6, 'wptests_tax2' ); 1091 1092 $found = get_terms( array( 'wptests_tax1', 'wptests_tax2' ), array( 1093 'hierarchical' => true, 1094 'hide_empty' => true, 1095 'fields' => 'ids', 1096 ) ); 1097 1098 /* 1099 * Should contain all terms, since they all have non-empty descendants. 1100 * To make the case clearer, test taxonomies separately. 1101 */ 1102 1103 // First taxonomy. 1104 $this->assertContains( $t1, $found ); 1105 $this->assertContains( $t2, $found ); 1106 $this->assertContains( $t3, $found ); 1107 1108 // Second taxonomy. 1109 $this->assertContains( $t4, $found ); 1110 $this->assertContains( $t5, $found ); 1111 $this->assertContains( $t6, $found ); 1112 } 1113 1114 /** 1073 1115 * @ticket 23261 1074 1116 */
Note: See TracChangeset
for help on using the changeset viewer.