WordPress.org

Make WordPress Core

Ticket #12533: 12533.diff

File 12533.diff, 1.4 KB (added by jfarthing84, 5 years ago)

wp-includes/query.php

  • query.php

     
    19651965                        if ( '' != $q['taxonomy'] ) { 
    19661966                                $taxonomy = $q['taxonomy']; 
    19671967                                $tt[$taxonomy] = $q['term']; 
    1968                                 $terms = get_terms($q['taxonomy'], array('slug'=>$q['term'])); 
     1968                                $terms = get_terms($q['taxonomy'], array('slug' => $q['term'], 'hide_empty' => false)); 
    19691969                        } else { 
    19701970                                foreach ( $GLOBALS['wp_taxonomies'] as $taxonomy => $t ) { 
    19711971                                        if ( $t->query_var && '' != $q[$t->query_var] ) { 
    1972                                                 $terms = get_terms($taxonomy, array('slug'=>$q[$t->query_var])); 
     1972                                                $terms = get_terms($taxonomy, array('slug' => $q[$t->query_var])); 
    19731973                                                if ( !is_wp_error($terms) ) 
    19741974                                                        break; 
    19751975                                        } 
    19761976                                } 
    19771977                        } 
    1978                         if ( is_wp_error($terms) || empty($terms) ) { 
     1978                        if ( is_wp_error($terms) ) { 
    19791979                                $whichcat = " AND 0 "; 
    19801980                        } else { 
    1981                                 foreach ( $terms as $term ) 
     1981                                foreach ( $terms as $term ) { 
    19821982                                        $term_ids[] = $term->term_id; 
     1983                                        if ( is_taxonomy_hierarchical($taxonomy) ) { 
     1984                                                $children = get_term_children($term->term_id, $taxonomy); 
     1985                                                if ( is_wp_error($children) ) 
     1986                                                        continue; 
     1987                                                $term_ids = array_merge($term_ids, $children); 
     1988                                        } 
     1989                                } 
    19831990                                $post_ids = get_objects_in_term($term_ids, $taxonomy); 
    19841991                                if ( !is_wp_error($post_ids) && count($post_ids) ) { 
    19851992                                        $whichcat .= " AND $wpdb->posts.ID IN (" . implode(', ', $post_ids) . ") ";