Запрос с помощью meta_query
Всем добра. Пытаюсь сделать запрос и отрисовать таблицу, но не получается. Прошу помощи. Суть такова. На сайте загадки. Как человек отгадал загадку, я вписываю его ID в произвольное поле записи загадки. За отгадку начисляю баллы, тоже произвольным полем. Затем баллы конвертирую в рубли (или др. валюту) и выплачиваю (дата - произвольное поле).
Написал такой запрос
'meta_query' => array( 'relation' => 'AND', array('key' => 'correct-answer', 'value' => '1', 'meta_compare' => '!='), array('key' => 'pay', 'value' => 'Yes') )
correct-answer - сюда вписывается ID отгадавшего человека. ID = 1, естественно мой, я хочу себя исключить из выборки.
pay - поле, которое говорит, что выплата произведена, остальные записи в таблице не нужны.
Загвоздка в том, что я всё равно присутствую в таблице. Не могу себя исключить! Помогите, пожалуйста.
Сработало вот так
'meta_query' => array( 'relation' => 'AND', array('key' => 'correct-answer', 'value' => '1', 'compare' => '!='), array('key' => 'pay', 'value' => 'Yes', 'meta_compare' => '=') )
Не понял, чем отличается meta_compare от compare в этих случаях.
В
meta_query
нет параметраmeta_compare
, естьcompare
. Там идет или связка старых параметров:или один параметр
meta_compare
с вложенными параметрами (массивами):Подробнее тут: http://wp-kama.ru/function/wp_query
Правильная запись вашего примера такая будет:
Спасибо, Тимур. Я к этому тоже пришёл. Ту статью прочел когда раз 5, тогда понял, что немного не так написал код. Благодарю за отзывчивость!