Ich versuche, alle Mietobjekte anzuzeigen, zuerst nach allen Objekten, die nicht vermietet wurden, und dann nach allen Objekten, die derzeit vermietet sind. Es gibt einen benutzerdefinierten Beitragstyp 'rent' mit benutzerdefiniertem Beitrags-Meta für den gemieteten Preis (_price_rented), der ein Kontrollkästchen darstellt (gibt entweder true oder false zurück ... true, wenn er gemietet wurde). Ich muss die Abfrage ändern, um alle Immobilien anzuzeigen, wobei zuerst die verfügbaren (nicht vermieteten) Eigenschaften und dann die gemieteten Eigenschaften angezeigt werden.
Hier ist meine Frage:
$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',
),
)
)
);
Aus irgendeinem Grund zeigt diese Abfrage alle Immobilien, die gemietet wurden. Wenn ich den Wert in der meta_query von 'false' auf 'true' ändere, werden keine Eigenschaften angezeigt.
Also dachte ich, der Rückgabewert ist entweder falsch (für Immobilien, die vermietet sind) oder NULL (für Immobilien, die NICHT vermietet sind), aber ich bin nicht sicher, wie ich nach einem NULL-Ergebnis fragen soll (nicht falsch). Ich fügte ein 'hinzu Vergleichen Sie das Argument mit der meta_query und setzen Sie den Wert auf '! =', aber das hat auch nicht funktioniert.
BEARBEITEN: var_dump gibt Folgendes für eine verfügbare, nicht gemietete Wohnung zurück: string(0) ""
und für eine nicht verfügbare, gemietete Wohnung:string(1) "1"
_price_rented
tatsächlich für beide true
und false
Werte festgelegt, oder ist es nur für festgelegt true
? Überprüfen Sie bitte die Datenbank. Ich habe gefragt, weil ein deaktiviertes Kontrollkästchen überhaupt nicht durchlaufen wird POST
, und ich frage mich, ob der Wert für diese Fälle überhaupt festgelegt ist.