Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

I'm trying to come up with a query to sort by multiple orderby values. Here's what I have so far:

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

I'm trying to query a custom post type, and within that post type, query a meta value.

Then, I'd like to first sort by menu_order ascending, then by a custom meta value wcu_lastname ascending. However, the orderby value didn't seem to be able to take an array.

How can I order the query using multiple orderby values?

share|improve this question
3  
If I'm not wrong, simply add them space separated. –  kaiser Sep 20 '12 at 16:05

1 Answer 1

up vote 3 down vote accepted
$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'
        ));

By using what @kaiser suggested and the meta_query option, I was able to get the query I was looking for.

share|improve this answer
    
how can we put multiple order value for the fields? For ex: ASC for menu_order, DESC for date –  Musa Mar 20 at 11:44

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.