WordPress.org

Make WordPress Core

Ticket #12533: 12533.diff

File 12533.diff, 1.4 KB (added by jfarthing84, 8 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) . ") ";