Ticket #23373: meta.php.patch
File meta.php.patch, 1.3 KB (added by , 12 years ago) |
---|
-
meta.php
672 672 $meta_query = array(); 673 673 674 674 // Simple query needs to be first for orderby=meta_value to work correctly 675 foreach ( array( 'key', 'compare', 'type' ) as $key ) {675 foreach ( array( 'key', 'compare', 'type', 'like_escape' ) as $key ) { 676 676 if ( !empty( $qv[ "meta_$key" ] ) ) 677 677 $meta_query[0][ $key ] = $qv[ "meta_$key" ]; 678 678 } … … 737 737 foreach ( $queries as $k => $q ) { 738 738 $meta_key = isset( $q['key'] ) ? trim( $q['key'] ) : ''; 739 739 $meta_type = isset( $q['type'] ) ? strtoupper( $q['type'] ) : 'CHAR'; 740 $meta_like_escape = isset( $q['like_escape'] ) ? trim( $q['like_escape'] ) : false; 740 741 741 742 if ( 'NUMERIC' == $meta_type ) 742 743 $meta_type = 'SIGNED'; … … 803 804 } elseif ( 'BETWEEN' == substr( $meta_compare, -7) ) { 804 805 $meta_value = array_slice( $meta_value, 0, 2 ); 805 806 $meta_compare_string = '%s AND %s'; 807 } elseif ( 'LIKE' == substr( $meta_compare, -4 ) && $meta_like_escape ) { 808 $meta_compare_string = '%s'; 806 809 } elseif ( 'LIKE' == substr( $meta_compare, -4 ) ) { 807 810 $meta_value = '%' . like_escape( $meta_value ) . '%'; 808 811 $meta_compare_string = '%s';