diff --git wp-includes/meta.php wp-includes/meta.php
index 9db1de3..569b951 100644
|
|
|
class WP_Meta_Query { |
| 795 | 795 | continue; |
| 796 | 796 | } |
| 797 | 797 | } else { |
| 798 | | $meta_value = trim( $meta_value ); |
| | 798 | if ( ! is_array( $meta_value ) ) |
| | 799 | $meta_value = trim( $meta_value ); |
| 799 | 800 | } |
| 800 | 801 | |
| 801 | 802 | if ( 'IN' == substr( $meta_compare, -2) ) { |
| … |
… |
class WP_Meta_Query { |
| 804 | 805 | $meta_value = array_slice( $meta_value, 0, 2 ); |
| 805 | 806 | $meta_compare_string = '%s AND %s'; |
| 806 | 807 | } elseif ( 'LIKE' == substr( $meta_compare, -4 ) ) { |
| 807 | | $meta_value = '%' . like_escape( $meta_value ) . '%'; |
| | 808 | if ( ! is_array( $meta_value ) ) |
| | 809 | $meta_value = '%' . like_escape( $meta_value ) . '%'; |
| 808 | 810 | $meta_compare_string = '%s'; |
| 809 | 811 | } else { |
| 810 | 812 | $meta_compare_string = '%s'; |
| … |
… |
class WP_Meta_Query { |
| 813 | 815 | if ( ! empty( $where[$k] ) ) |
| 814 | 816 | $where[$k] .= ' AND '; |
| 815 | 817 | |
| 816 | | $where[$k] = ' (' . $where[$k] . $wpdb->prepare( "CAST($alias.meta_value AS {$meta_type}) {$meta_compare} {$meta_compare_string})", $meta_value ); |
| | 818 | if ( 'LIKE' == substr( $meta_compare, -4 ) && is_array($meta_value) ) { |
| | 819 | $like_where = ''; |
| | 820 | foreach ( (array) $meta_value as $_meta_value ) { |
| | 821 | $_meta_value = '%' . like_escape( $_meta_value ) . '%'; |
| | 822 | $like_where .= ' OR (' . $wpdb->prepare( "CAST($alias.meta_value AS {$meta_type}) {$meta_compare} {$meta_compare_string})", $_meta_value ); |
| | 823 | } |
| | 824 | $where[$k] = substr( $like_where, 4 ); |
| | 825 | } else { |
| | 826 | $where[$k] = ' (' . $where[$k] . $wpdb->prepare( "CAST($alias.meta_value AS {$meta_type}) {$meta_compare} {$meta_compare_string})", $meta_value ); |
| | 827 | } |
| 817 | 828 | } |
| 818 | 829 | |
| 819 | 830 | $where = array_filter( $where ); |