WordPress.org

Make WordPress Core

Ticket #22074: use-in-query.diff

File use-in-query.diff, 1.5 KB (added by wonderboymusic, 6 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)) {