J'essaie de montrer toutes les propriétés locatives, d'abord par toutes les propriétés qui n'ont pas été louées, puis par toutes les propriétés qui sont actuellement louées. Il existe un type de publication personnalisé 'rent' avec une méta de publication personnalisée pour le prix loué (_price_rented) qui est une case à cocher (renvoie vrai ou faux ... vrai s'il a été loué). Je dois modifier la requête pour afficher toutes les propriétés avec les propriétés disponibles (non louées) apparaissant en premier, puis les propriétés louées apparaissant.
Voici ma requête:
$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',
),
)
)
);
Pour une raison quelconque, cette requête affiche toutes les propriétés qui ont été louées. Lorsque je passe la valeur de «false» à «true» dans la méta-requête, elle n'affiche aucune propriété.
Alors, j'ai pensé que la valeur de retour est soit false (pour les propriétés qui sont louées) ou NULL (pour les propriétés qui ne sont PAS louées), mais je ne sais pas comment demander un résultat NULL (pas faux), j'ai ajouté un ' comparez 'argument à meta_query et définissez la valeur sur'! = 'mais cela n'a pas fonctionné non plus.
EDIT: var_dump renvoie les informations suivantes pour un appartement disponible non loué: string(0) ""
et pour un appartement non disponible loué:string(1) "1"
_price_rented
réellement défini pour les valeurs true
et false
, ou est-il uniquement défini pour true
? Vérifiez la base de données s'il vous plaît. J'ai demandé parce qu'une case à cocher non cochée n'est pas du tout passée, POST
donc je me demande si la valeur est définie pour ces cas.