WordPress.org

Make WordPress Core

Ticket #21290: 21290-3.diff

File 21290-3.diff, 801 bytes (added by jondavidjohn, 6 years 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                                foreach ( wp_list_pluck( $this->tax_query->queries, 'taxonomy' ) as $tax ) {
     2223                                        $tax_post_types = array_merge($tax_post_types, get_taxonomy($tax)->object_type);
     2224                                }
     2225                                if ( !empty($tax_post_types) ) {
     2226                                        $post_type = array_unique($tax_post_types);
     2227                                }
     2228
    22192229                                $post_status_join = true;
    22202230                        } elseif ( in_array('attachment', (array) $post_type) ) {
    22212231                                $post_status_join = true;