Когда вы используете несколько ключей в meta_query в wp_query, вы должны убедиться, что вы правильно настраиваете свои параметры для каждого ключа. Когда запрос содержит несколько ключей, он будет пытаться выполнить поиск, учитывая все условия, указанные в каждом ключе, что может привести к непредсказуемым результатам.
Для улучшения запроса и получения id заказов, соответствующих нужным параметрам, вам следует настроить параметры meta_query таким образом, чтобы каждый ключ содержал свои собственные условия и операторы сравнения. Например, для ключей "_order_shipping" и "_billing_pickup" вы можете настроить параметры так:
```php
$args = array (
'post_type' => 'shop_order',
'meta_query' => array(
'relation' => 'AND',
array(
'key' => '_order_shipping',
'value' => 'delivery',
'compare' => '='
),
array(
'key' => '_billing_pickup',
'value' => '1',
'compare' => '='
)
)
);
$query = new WP_Query( $args );
```
В этом примере мы устанавливаем отношение 'AND' между ключами, чтобы оба условия должны быть выполнены. Для ключа "_order_shipping" мы используем оператор сравнения '=', чтобы найти заказы с доставкой. Для ключа "_billing_pickup" мы также используем оператор '=', чтобы найти заказы с самовывозом.
Пожалуйста, убедитесь, что вы используете правильные значения для ключей и операторов сравнения в соответствии с вашими данными и требованиями.