Je sais qu'il existe déjà des questions et des réponses très similaires, mais je ne peux tout simplement pas obtenir ma requête pour entrer dans le bon ordre.
J'ai un type de message personnalisé ("bb_articles") avec des champs personnalisés, parmi lesquels: - "bb_source": bouton radio avec les valeurs stockées 1, 2, 3 ... - "bb_date": champ de date
Je souhaite afficher les messages de "bb_source" spécifique (par exemple 1) classés par "bb_date".
Ce que je reçois, cependant, est un ordre par date de publication (apparemment), ce qui n’est PAS ce que je veux.
Mon code est:
$query = array (
'post_type' => 'bb_articles',
'meta-key' => 'bb_date',
'orderby' => 'meta_value_num',
'order' => 'DESC',
'meta_query' => array(
array('key' => 'bb_source',
'value' => 1,
'compare' => '='
)
)
);
$my_query = new WP_Query($query);
J'ai aussi essayé de cette façon comme décrit par Hameedullah Khan ici
$query = array (
'post_type' => 'bb_articles',
'meta-key' => 'bb_date',
'orderby' => 'meta_value_num',
'order' => 'DESC',
'meta_query' => array(
array (
'key' => 'bb_date'
),
array('key' => 'bb_source',
'value' => 1,
'compare' => '=='
)
)
);
"bb_date" est stocké au format de date Unix, c'est-à-dire que le 4 novembre 2012 correspond à: 1351987200. Par conséquent, la commande par meta_value_num ne devrait pas produire le bon ordre.
Évidemment, ce n’est pas le cas, alors où pourrait l’erreur?
Toute aide est grandement appréciée. Merci
Edit: code nettoyé coupé et deuxième extrait de code ajouté
meta_key
n'est pas meta-key
, ce qui signifie que vous ne remplissez pas toutes les conditions requises pour que cela fonctionne.
'meta_value_num' - Trié par valeur méta numérique (disponible avec la version 2.8). Notez également qu'un 'méta_key = keyname' doit également être présent dans la requête. Cette valeur permet le tri numérique comme indiqué ci-dessus dans 'meta_value'.