it-roy-ru.com

С помощью OR в WP_Query отменяет сравнение "НЕ СУЩЕСТВУЕТ"

Я пытаюсь отфильтровать записи по настраиваемому полю, которое либо равно "новому", либо еще не задано. Я могу заставить любой из этих мета-запросов работать самостоятельно, но когда я использую их в запросе "ИЛИ", часть "НЕ СУЩЕСТВУЕТ" игнорируется, и запрос возвращает каждый пост, для которого установлено ЛЮБОЕ значение. Вот пример 'meta_query', который вызывает странное поведение:

array(
  'relation' => 'OR',
  array(
    'key' => 'status',
    'compare' => 'NOT EXISTS',
  ),
  array(
    'key' => 'status',
    'value' => 'new',
    'compare' => '=',
  ),
);
2
hereswhatidid
array(
  'relation' => 'OR',
  array(
    'key' => 'status',
    'value' => '', //<--- not required but necessary in this case
    'compare' => 'NOT EXISTS',
  ),
  array(
    'key' => 'status',
    'value' => 'new',
    'compare' => '=',
  ),
);

Это должно сделать это.

5
N. F.