Ticket #22096: meta-value-empty-array.diff
File meta-value-empty-array.diff, 1.0 KB (added by , 13 years ago) |
---|
-
wp-includes/meta.php
678 678 } 679 679 680 680 // WP_Query sets 'meta_value' = '' by default 681 if ( isset( $qv[ 'meta_value' ] ) && '' !== $qv[ 'meta_value' ] )681 if ( isset( $qv[ 'meta_value' ] ) && '' !== $qv[ 'meta_value' ] && ( ! is_array( $qv[ 'meta_value' ] ) || $qv[ 'meta_value' ] ) ) 682 682 $meta_query[0]['value'] = $qv[ 'meta_value' ]; 683 683 684 684 if ( !empty( $qv['meta_query'] ) && is_array( $qv['meta_query'] ) ) { … … 714 714 $key_only_queries = array(); 715 715 $queries = array(); 716 716 717 // Split out the queries with empty arrays as value 718 foreach ( $this->queries as $k => $q ) { 719 if ( is_array( $q['value'] ) && empty( $q['value'] ) ) { 720 $key_only_queries[$k] = $q; 721 unset( $this->queries[$k] ); 722 } 723 } 724 717 725 // Split out the meta_key only queries (we can only do this for OR) 718 726 if ( 'OR' == $this->relation ) { 719 727 foreach ( $this->queries as $k => $q ) {