J'essaie de trouver une requête pour trier par plusieurs valeurs orderby. Voici ce que j'ai jusqu'à présent:
$dept_id=2;
$query=new WP_Query(array(
'post_type'=>'wpcontactus',
'nopaging'=>true,
'post_status'=>array('publish', 'pending', 'future'),
'meta_key'=>'wcu_dept',
'meta_value'=>$dept_id,
'orderby'=>'title',
'order'=>'ASC'
));
J'essaie d'interroger un type d'article personnalisé et, dans ce type d'article, d'interroger une méta-valeur.
Ensuite, j'aimerais commencer par trier menu_order
croissant, puis une méta valeur personnalisée wcu_lastname
croissant. Cependant, la valeur orderby ne semblait pas pouvoir prendre un tableau.
Comment puis-je commander la requête en utilisant plusieurs valeurs orderby?
$query=new WP_Query(array(
'post_type'=>'wpcontactus',
'nopaging'=>true,
'post_status'=>array('publish', 'pending', 'future'),
'meta_query'=>array(
array('key'=>'wcu_dept','value'=>$dept_id, 'compare'=>'='),
),
'meta_key'=>'wcu_firstname',
'orderby'=>'menu_order wcu_firstname',
'order'=>'ASC'
));
En utilisant les suggestions de @kaiser et l'option meta_query
, j'ai pu obtenir la requête que je cherchais.
@Musa, comment pouvons-nous placer plusieurs valeurs de commande pour les champs? Je me demandais la même question et j'ai trouvé ceci:
En 4.0, vous pouvez maintenant passer un tableau à WP_Query en tant que valeur pour orderby.
La syntaxe ressemble à:
$q = new WP_Query( array(
'orderby' => array(
'title' => 'DESC',
'menu_order' => 'ASC'
)
));
Regardez ici pour plus de détails: https://make.wordpress.org/core/2014/08/29/a-more-powerful-order-by-in-wordpress-4-0/