Tôi đang cố gắng hiển thị tất cả các tài sản cho thuê, trước tiên là bởi tất cả các tài sản chưa được thuê, và sau đó bởi tất cả các tài sản hiện đang được thuê. Có một loại bài đăng tùy chỉnh 'thuê' với meta bài đăng tùy chỉnh cho giá được thuê (_price_rents) là một hộp kiểm (trả về đúng hoặc sai ... đúng nếu nó đã được thuê). Tôi cần thay đổi truy vấn để hiển thị tất cả các thuộc tính với các thuộc tính có sẵn (không thuê) xuất hiện đầu tiên và sau đó các thuộc tính được thuê xuất hiện.
Đây là truy vấn của tôi:
$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',
),
)
)
);
Vì một số lý do, truy vấn này hiển thị tất cả các thuộc tính đã được thuê. Khi tôi chuyển giá trị từ 'false' thành 'true' trong meta_query, nó không hiển thị bất kỳ thuộc tính nào.
Vì vậy, sau đó tôi nghĩ, giá trị trả về là sai (đối với các thuộc tính được thuê) hoặc NULL (đối với các thuộc tính KHÔNG được thuê), nhưng không chắc chắn làm thế nào để truy vấn kết quả NULL (không sai), tôi đã thêm một ' so sánh 'đối số với meta_query và đặt giá trị thành'! = 'nhưng điều đó cũng không hoạt động.
EDIT: var_dump trả về những điều sau đây cho một căn hộ có sẵn, không thuê: string(0) ""
và cho một căn hộ không có sẵn, được thuê:string(1) "1"
_price_rented
thực sự được đặt cho cả hai true
và false
giá trị, hoặc nó chỉ được đặt cho true
? Vui lòng kiểm tra cơ sở dữ liệu. Tôi đã hỏi bởi vì một hộp kiểm không được kiểm tra hoàn toàn không được thông qua POST
vì vậy tôi tự hỏi liệu giá trị đó có được đặt ở tất cả các trường hợp đó không.