714 | | foreach ( $this->queries as $k => $q ) { |
| 714 | $key_only_queries = array(); |
| 715 | $queries = array(); |
| 716 | |
| 717 | // Split out the meta_key only queries (we can only do this for OR) |
| 718 | if ( 'OR' == $this->relation ) { |
| 719 | foreach ( $this->queries as $k => $q ) { |
| 720 | if ( ! isset( $q['value'] ) && ! empty( $q['key'] ) ) |
| 721 | $key_only_queries[$k] = $q; |
| 722 | else |
| 723 | $queries[$k] = $q; |
| 724 | } |
| 725 | } else { |
| 726 | $queries = $this->queries; |
| 727 | } |
| 728 | |
| 729 | // Specify all the meta_key only queries in one go |
| 730 | if ( $key_only_queries ) { |
| 731 | $join[] = "INNER JOIN $meta_table ON $primary_table.$primary_id_column = $meta_table.$meta_id_column"; |
| 732 | |
| 733 | foreach ( $key_only_queries as $key => $q ) |
| 734 | $where["key-only-$key"] = $wpdb->prepare( "$meta_table.meta_key = %s", trim( $q['key'] ) ); |
| 735 | } |
| 736 | |
| 737 | foreach ( $queries as $k => $q ) { |