WordPress.org

Make WordPress Core

Ticket #22074: use-in-query.diff

File use-in-query.diff, 1.5 KB (added by wonderboymusic, 2 years ago)
  • wp-includes/post.php

     
    35063506                $cache = array(); 
    35073507 
    35083508        $inclusions = ''; 
    3509         if ( !empty($include) ) { 
     3509        if ( ! empty( $include ) ) { 
    35103510                $child_of = 0; //ignore child_of, parent, exclude, meta_key, and meta_value params if using include 
    35113511                $parent = -1; 
    35123512                $exclude = ''; 
     
    35143514                $meta_value = ''; 
    35153515                $hierarchical = false; 
    35163516                $incpages = wp_parse_id_list( $include ); 
    3517                 if ( ! empty( $incpages ) ) { 
    3518                         foreach ( $incpages as $incpage ) { 
    3519                                 if (empty($inclusions)) 
    3520                                         $inclusions = $wpdb->prepare(' AND ( ID = %d ', $incpage); 
    3521                                 else 
    3522                                         $inclusions .= $wpdb->prepare(' OR ID = %d ', $incpage); 
    3523                         } 
    3524                 } 
     3517                 
     3518                if ( ! empty( $incpages ) ) 
     3519                        $inclusions = ' AND ID IN (' . join( ',', $incpages ) .  ')'; 
    35253520        } 
    3526         if (!empty($inclusions)) 
    3527                 $inclusions .= ')'; 
    35283521 
    35293522        $exclusions = ''; 
    3530         if ( !empty($exclude) ) { 
     3523        if ( ! empty( $exclude ) ) { 
    35313524                $expages = wp_parse_id_list( $exclude ); 
    3532                 if ( ! empty( $expages ) ) { 
    3533                         foreach ( $expages as $expage ) { 
    3534                                 if (empty($exclusions)) 
    3535                                         $exclusions = $wpdb->prepare(' AND ( ID <> %d ', $expage); 
    3536                                 else 
    3537                                         $exclusions .= $wpdb->prepare(' AND ID <> %d ', $expage); 
    3538                         } 
    3539                 } 
     3525                if ( ! empty( $expages ) ) 
     3526                        $exclusions = ' AND ID NOT IN (' . join( ',', $expages ) .  ')'; 
    35403527        } 
    3541         if (!empty($exclusions)) 
    3542                 $exclusions .= ')'; 
    35433528 
    35443529        $author_query = ''; 
    35453530        if (!empty($authors)) {