Я пытаюсь показать все свойства, сдаваемые в аренду, сначала по всем объектам, которые не были сданы в аренду, а затем по всем объектам, которые в настоящее время сданы в аренду. Существует специальный тип поста 'rent' с пользовательским мета-значением поста для арендованной цены (_price_rented), который является флажком (возвращает либо true, либо false ... true, если он был арендован). Мне нужно изменить запрос, чтобы показать все свойства, в которых сначала отображаются доступные (не арендованные) свойства, а затем - арендованные свойства.
Вот мой запрос:
$ts_properties = new WP_Query(
array(
'post_type' => 'rent',
'paged' => $paged,
'posts_per_page' => -1,
'meta_key' => '_price_rented',
'orderby' => 'meta_value',
'order' => 'DESC',
'meta_query' => array(
array(
'key' => '_price_rented',
'value' => false,
'type' => 'BOOLEAN',
),
)
)
);
По какой-то причине этот запрос показывает все свойства, которые были арендованы. Когда я переключаю значение с «false» на «true» в meta_query, оно не показывает никаких свойств.
Итак, потом я подумал, что возвращаемое значение - либо false (для свойств, которые АРЕНДОВАНЫ), либо NULL (для свойств, НЕ АРЕНДОВАННЫХ), но я не уверен, как запросить результат NULL (не false), я добавил ' сравните аргумент с мета-запросом и установите значение '! =', но это тоже не сработало.
РЕДАКТИРОВАТЬ: var_dump возвращает следующее для доступной, не арендованной квартиры: string(0) ""
и для недоступной, арендованной квартиры:string(1) "1"
_price_rented
самом деле установить для обоих true
и false
значений, или она устанавливается только для true
? Проверьте базу данных, пожалуйста. Я спросил, потому что непроверенный флажок вообще не пропущен, POST
поэтому мне интересно, установлено ли значение вообще для этих случаев.