it-roy-ru.com

сравнение meta_query> = не работает, но <= работает?

Я пытаюсь выполнить следующий код:

$today123 = date('Ymd');
$args123 = array (
        'post_type' => 'myType',
        'meta_query' => array(
            'relation'=>'AND',
            array(
                'key'       => 'date',//this is a custom field, not the std 'date' field of wp
                'compare'   => '>=',
                'value'     => $today123,
            )
        ),
        'posts_per_page' => 10,
        'orderby' => 'meta_value_num',
        'order' => 'ASC' 
);
$variable=new WP_Query($args123);

чтобы отфильтровать мой пользовательский тип поста на основе настраиваемого поля, я использую запрос в цикле, как предполагалось, и проверяю вывод с парой var_export

запрос полностью игнорирует мой meta_query (я пытался удалить orderby, но даже без него метазапрос просто не применяется)

поэтому я немного смягчил код и проверил различные результаты в различных ситуациях, и я кое-что узнал,

если использовать

'compare'   => '>=',

он игнорируется и возвращает все сообщения, даже те, которые не имеют

'meta_date' >= date('Ymd')

но если я использую точно такой же код, положить

'compare'   => '<=',

волшебным образом фильтр применяется и работает так, как я ожидаю, что <= сравнить с работой.

Возможно, я что-то здесь упускаю, мне нужно получить сообщения 'myType', у которых значение meta_date больше или равно дате ('Ymd'), и отсортировать их по метаданным в порядке ASC ...

Почему сравнение "<=" работает, а сравнение "> =" - нет? Как я могу достичь желаемого результата?

Правка:

"Забавное" открытие: если я не заказываю и заказываю, сравнивайте> = работает ...

1
Yuri Scarbaci

После тщательного изучения и еще большей отладки и проверки кода я обнаружил, что использование "даты" в качестве имени мета-поля вызывает много "путаницы" внутри самого запроса wordrpess, поскольку wordpress путает поле "дата" meta_query с "датой" "Само собой, чтобы избежать всего этого, решение просто меняет имя метаполя с даты на meta_date, делая так, чтобы все запросы на поле работали как задумано!

2
Yuri Scarbaci