Múltiples valores ordenados en WP_Query

10

Estoy tratando de llegar a una consulta para ordenar por varios valores de orderby. Esto es lo que tengo hasta ahora:

    $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'
    ));

Estoy intentando consultar un tipo de publicación personalizado y, dentro de ese tipo de publicación, consultar un valor meta

Luego, me gustaría primero ordenar por menu_order ascendente, luego por un meta valor personalizado wcu_lastname ascendente. Sin embargo, el valor orderby no parece ser capaz de tomar una matriz.

¿Cómo puedo ordenar la consulta utilizando varios valores de ordenamiento?

    
pregunta Force Flow 20.09.2012 - 17:50

2 respuestas

7
$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'
        ));

Al usar lo que sugirió @kaiser y la opción meta_query , pude obtener la consulta que estaba buscando.

    
respondido por el Force Flow 20.09.2012 - 18:15
14

@Musa ¿Cómo podemos poner valor de orden múltiple para los campos? Me preguntaba la misma pregunta y encontré esto:

  

En 4.0, ahora puede pasar una matriz a WP_Query como el valor para   orderby.

La sintaxis parece:

$q = new WP_Query( array( 
    'orderby' => array( 
       'title'      => 'DESC', 
       'menu_order' => 'ASC' 
    ) 
));

Echa un vistazo aquí para más detalles: enlace

    
respondido por el Pauleau 21.01.2015 - 09:47

Lea otras preguntas en las etiquetas