Ticket #29718: 29718.2.diff
| File 29718.2.diff, 1.7 KB (added by , 11 years ago) |
|---|
-
wp-includes/taxonomy.php
1040 1040 1041 1041 } elseif ( 'NOT IN' == $operator ) { 1042 1042 1043 if ( empty( $terms ) ) { 1044 continue; 1045 } 1043 if ( ! empty( $terms ) ) { 1044 $terms = implode( ',', $terms ); 1045 1046 $where = "$this->primary_table.$this->primary_id_column NOT IN ( 1047 SELECT object_id 1048 FROM $wpdb->term_relationships 1049 WHERE term_taxonomy_id IN ($terms) 1050 )"; 1051 } 1046 1052 1047 $terms = implode( ',', $terms );1048 1049 $where = "$this->primary_table.$this->primary_id_column NOT IN (1050 SELECT object_id1051 FROM $wpdb->term_relationships1052 WHERE term_taxonomy_id IN ($terms)1053 )";1054 1055 1053 } elseif ( 'AND' == $operator ) { 1054 if ( ! empty( $terms ) ) { 1055 $num_terms = count( $terms ); 1056 1057 $terms = implode( ',', $terms ); 1058 1059 $where = "( 1060 SELECT COUNT(1) 1061 FROM $wpdb->term_relationships 1062 WHERE term_taxonomy_id IN ($terms) 1063 AND object_id = $this->primary_table.$this->primary_id_column 1064 ) = $num_terms"; 1065 } 1056 1066 1057 if ( empty( $terms ) ) {1058 continue;1059 }1060 1061 $num_terms = count( $terms );1062 1063 $terms = implode( ',', $terms );1064 1065 $where = "(1066 SELECT COUNT(1)1067 FROM $wpdb->term_relationships1068 WHERE term_taxonomy_id IN ($terms)1069 AND object_id = $this->primary_table.$this->primary_id_column1070 ) = $num_terms";1071 1072 1067 } elseif ( 'NOT EXISTS' === $operator || 'EXISTS' === $operator ) { 1073 1068 1074 1069 $where = $wpdb->prepare( "$operator (