$term = $q[$t->query_var]; if ( strpos($term, '+') !== false ) { $terms = preg_split( '/[+]+/', $term ); foreach ( $terms as $term ) { $field = ''; if ( is_numeric($term) ) { $field = 'term_id'; } $tax_query[] = array_merge( $tax_query_defaults, array( 'terms' => array( $term ), 'field' => $field ) ); } } else { $field = ''; if ( is_numeric($term) ) { $field = 'term_id'; } $tax_query[] = array_merge( $tax_query_defaults, array( 'terms' => preg_split( '/[,]+/', $term ), 'field' => $field ) ); }