WordPress.org

Make WordPress Core

Ticket #21290: 21290-5.diff

File 21290-5.diff, 932 bytes (added by jondavidjohn, 20 months ago)
  • wp-includes/query.php

     
    22162216                if ( $this->is_tax ) { 
    22172217                        if ( empty($post_type) ) { 
    22182218                                $post_type = 'any'; 
     2219 
     2220                                // do a fully inclusive search for registered post types of queried taxonomies 
     2221                                $tax_post_types = array(); 
     2222                                $taxonomies = wp_list_pluck( $this->tax_query->queries, 'taxonomy' ); 
     2223                                foreach ( get_post_types(array('exclude_from_search' => false)) as $post_type ) { 
     2224                                        $post_type_taxonomies = get_object_taxonomies($post_type); 
     2225                                        if ( array_intersect($taxonomies, $post_type_taxonomies) ) 
     2226                                                $tax_post_types[] = $post_type; 
     2227                                } 
     2228                                if ( $tax_post_types ) 
     2229                                        $post_type = $tax_post_types; 
     2230 
    22192231                                $post_status_join = true; 
    22202232                        } elseif ( in_array('attachment', (array) $post_type) ) { 
    22212233                                $post_status_join = true;