WordPress.org

Make WordPress Core

Ticket #16706: 16706.split.diff

File 16706.split.diff, 802 bytes (added by scribu, 3 years ago)

Use 'AND' operator when splitting query vars

  • wp-includes/query.php

     
    16661666 
    16671667                                $term = $q[$t->query_var]; 
    16681668 
    1669                                 if ( strpos($term, '+') !== false ) { 
    1670                                         $terms = preg_split( '/[+]+/', $term ); 
    1671                                         foreach ( $terms as $term ) { 
    1672                                                 $tax_query[] = array_merge( $tax_query_defaults, array( 
    1673                                                         'terms' => array( $term ) 
    1674                                                 ) ); 
    1675                                         } 
     1669                                if ( preg_match( '/[+ ]+/', $term ) ) { 
     1670                                        $tax_query[] = array_merge( $tax_query_defaults, array( 
     1671                                                'terms' => preg_split( '/[+ ]+/', $term ), 
     1672                                                'operator' => 'AND' 
     1673                                        ) ); 
    16761674                                } else { 
    16771675                                        $tax_query[] = array_merge( $tax_query_defaults, array( 
    16781676                                                'terms' => preg_split( '/[,]+/', $term )