Changeset 15581 for trunk/wp-includes/functions.php
- Timestamp:
- 09/06/2010 11:28:59 AM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/wp-includes/functions.php
r15580 r15581 4255 4255 $clauses = array(); 4256 4256 4257 $join = ''; 4258 $where = ''; 4259 $i = 0; 4257 4260 foreach ( $queries as $q ) { 4258 4261 $meta_key = isset( $q['meta_key'] ) ? trim( $q['meta_key'] ) : ''; … … 4263 4266 $meta_compare = '='; 4264 4267 4265 if ( empty( $meta_key ) )4268 if ( empty( $meta_key ) && empty( $meta_value ) ) 4266 4269 continue; 4267 4270 4268 if ( empty( $meta_value ) ) {4269 $clauses[ $meta_key ] = "";4270 } elseif ( 'like' == $meta_compare ) {4271 $clauses[ $meta_key ] = $wpdb->prepare( "LIKE %s", '%' . like_escape( $meta_value ) . '%' );4272 } else {4273 $clauses[ $meta_key ] = $wpdb->prepare( "$meta_compare %s", $meta_value );4274 }4275 }4276 4277 if ( empty( $clauses ) )4278 return array('', '');4279 4280 $join = '';4281 $where = '';4282 4283 $i = 0;4284 foreach ( $clauses as $meta_key => $value_query ) {4285 4271 $alias = $i ? 'mt' . $i : $meta_table; 4286 4272 … … 4289 4275 $join .= " ON ($primary_table.$primary_id_column = $alias.$meta_id_column)"; 4290 4276 4291 $where .= $wpdb->prepare( " AND $alias.meta_key = %s", $meta_key );4292 if ( !empty( $value_query ) )4293 $where .= " AND $alias.meta_value $value_query";4294 4295 4277 $i++; 4278 4279 if ( !empty( $meta_key ) ) 4280 $where .= $wpdb->prepare( " AND $alias.meta_key = %s", $meta_key ); 4281 4282 if ( empty( $meta_value ) ) 4283 continue; 4284 4285 if ( 'like' == $meta_compare ) { 4286 $where .= $wpdb->prepare( " AND $alias.meta_value LIKE %s", '%' . like_escape( $meta_value ) . '%' ); 4287 } else { 4288 $where .= $wpdb->prepare( " AND $alias.meta_value $meta_compare %s", $meta_value ); 4289 } 4296 4290 } 4297 4291
Note: See TracChangeset
for help on using the changeset viewer.