| 1 | Index: wp-includes/meta.php |
|---|
| 2 | =================================================================== |
|---|
| 3 | --- wp-includes/meta.php (revision 17732) |
|---|
| 4 | +++ wp-includes/meta.php (working copy) |
|---|
| 5 | @@ -492,9 +492,6 @@ |
|---|
| 6 | elseif ( ! in_array( $meta_type, array( 'BINARY', 'CHAR', 'DATE', 'DATETIME', 'DECIMAL', 'SIGNED', 'TIME', 'UNSIGNED' ) ) ) |
|---|
| 7 | $meta_type = 'CHAR'; |
|---|
| 8 | |
|---|
| 9 | - if ( empty( $meta_key ) && empty( $meta_value ) ) |
|---|
| 10 | - continue; |
|---|
| 11 | - |
|---|
| 12 | $alias = $i ? 'mt' . $i : $meta_table; |
|---|
| 13 | |
|---|
| 14 | $join .= "\nINNER JOIN $meta_table"; |
|---|
| 15 | @@ -503,6 +500,7 @@ |
|---|
| 16 | |
|---|
| 17 | $i++; |
|---|
| 18 | |
|---|
| 19 | + $where[$k] = ''; |
|---|
| 20 | if ( !empty( $meta_key ) ) |
|---|
| 21 | $where[$k] = $wpdb->prepare( "$alias.meta_key = %s", $meta_key ); |
|---|
| 22 | |
|---|
| 23 | @@ -531,8 +529,11 @@ |
|---|
| 24 | } else { |
|---|
| 25 | $meta_compare_string = '%s'; |
|---|
| 26 | } |
|---|
| 27 | + |
|---|
| 28 | + if ( $where[$k] ) |
|---|
| 29 | + $where[$k] .= ' AND'; |
|---|
| 30 | |
|---|
| 31 | - $where[$k] = ' (' . $where[$k] . $wpdb->prepare( " AND CAST($alias.meta_value AS {$meta_type}) {$meta_compare} {$meta_compare_string})", $meta_value ); |
|---|
| 32 | + $where[$k] = ' (' . $where[$k] . $wpdb->prepare( " CAST($alias.meta_value AS {$meta_type}) {$meta_compare} {$meta_compare_string})", $meta_value ); |
|---|
| 33 | } |
|---|
| 34 | $where = ' AND (' . implode( " {$this->relation} ", $where ) . ' )'; |
|---|
| 35 | |
|---|