Make WordPress Core


Ignore:
Timestamp:
01/09/2011 04:19:48 PM (14 years ago)
Author:
ryan
Message:

categoryand, tagand, tag_slugin, tag_slugand support. fixes #16157

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-includes/taxonomy.php

    r17240 r17244  
    672672
    673673                $where[] = "$alias.term_taxonomy_id $operator ($terms)";
    674             }
    675             elseif ( 'NOT IN' == $operator ) {
     674            } elseif ( 'NOT IN' == $operator ) {
    676675
    677676                if ( empty( $terms ) )
     
    684683                    FROM $wpdb->term_relationships
    685684                    WHERE term_taxonomy_id IN ($terms)
     685                )";
     686            } elseif ( 'AND' == $operator ) {
     687
     688                if ( empty( $terms ) )
     689                    continue;
     690
     691                $num_terms = count( $terms );
     692
     693                $terms = implode( ',', $terms );
     694
     695                $where[] = "$primary_table.$primary_id_column IN (
     696                    SELECT object_id
     697                    FROM $wpdb->term_relationships
     698                    WHERE term_taxonomy_id IN ($terms)
     699                    GROUP BY object_id HAVING COUNT(object_id) = $num_terms
    686700                )";
    687701            }
Note: See TracChangeset for help on using the changeset viewer.