WordPress.org

Make WordPress Core

Ticket #17592: 17592.2.diff

File 17592.2.diff, 1.5 KB (added by kawauso, 7 years ago)

Post-#18364 refresh

  • wp-includes/query.php

     
    23862386                }
    23872387
    23882388                if ( 'any' == $post_type ) {
    2389                         $in_search_post_types = get_post_types( array('exclude_from_search' => false) );
    2390                         if ( ! empty( $in_search_post_types ) )
    2391                                 $where .= $wpdb->prepare(" AND $wpdb->posts.post_type IN ('" . join("', '", $in_search_post_types ) . "')");
     2389                        if ( $this->is_search() ) {
     2390                                $in_search_post_types = get_post_types( array('exclude_from_search' => false) );
     2391                                if ( ! empty( $in_search_post_types ) )
     2392                                        $where .= $wpdb->prepare(" AND $wpdb->posts.post_type IN ('" . join("', '", $in_search_post_types ) . "')");
     2393                        }
    23922394                } elseif ( !empty( $post_type ) && is_array( $post_type ) ) {
    23932395                        $where .= " AND $wpdb->posts.post_type IN ('" . join("', '", $post_type) . "')";
    23942396                } elseif ( ! empty( $post_type ) ) {
     
    24262428                        $p_status = array();
    24272429                        $e_status = array();
    24282430                        if ( in_array('any', $q_status) ) {
    2429                                 foreach ( get_post_stati( array('exclude_from_search' => true) ) as $status )
    2430                                         $e_status[] = "$wpdb->posts.post_status <> '$status'";
     2431                                if ( $this->is_search() ) {
     2432                                        foreach ( get_post_stati( array('exclude_from_search' => true) ) as $status )
     2433                                                $e_status[] = "$wpdb->posts.post_status <> '$status'";
     2434                                }
    24312435                        } else {
    24322436                                foreach ( get_post_stati() as $status ) {
    24332437                                        if ( in_array( $status, $q_status ) ) {