diff --git a/wp-includes/taxonomy.php b/wp-includes/taxonomy.php index e5816580d1..0419e97424 100644 --- a/wp-includes/taxonomy.php +++ b/wp-includes/taxonomy.php @@ -1629,7 +1629,14 @@ function get_terms( $taxonomies, $args = '' ) { $args['offset'] = absint( $args['offset'] ); // Save queries by not crawling the tree in the case of multiple taxes or a flat tax. - if ( ! $single_taxonomy || ! is_taxonomy_hierarchical( reset( $taxonomies ) ) ) { + $has_hierarchical_tax = false; + foreach ( $taxonomies as $_tax ) { + if ( is_taxonomy_hierarchical( $_tax ) ) { + $has_hierarchical_tax = true; + } + } + + if ( ! $has_hierarchical_tax ) { $args['hierarchical'] = false; $args['pad_counts'] = false; } @@ -1963,7 +1970,9 @@ function get_terms( $taxonomies, $args = '' ) { // Update term counts to include children. if ( $args['pad_counts'] && 'all' == $_fields ) { - _pad_term_counts( $terms, reset( $taxonomies ) ); + foreach ( $taxonomies as $_tax ) { + _pad_term_counts( $terms, $_tax ); + } } // Make sure we show empty categories that have children. if ( $hierarchical && $args['hide_empty'] && is_array( $terms ) ) { diff --git a/wp-includes/version.php b/wp-includes/version.php index fb6d507c77..9dc910d9a3 100644 --- a/wp-includes/version.php +++ b/wp-includes/version.php @@ -4,7 +4,7 @@ * * @global string $wp_version */ -$wp_version = '4.2-alpha-31283'; +$wp_version = '4.2-alpha-31284'; /** * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.