Nhiều giá trị thứ tự trong WP_Query


14

Tôi đang cố gắng đưa ra một truy vấn để sắp xếp theo nhiều giá trị thứ tự. Đây là những gì tôi có cho đến nay:

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

Tôi đang cố gắng truy vấn loại bài đăng tùy chỉnh và trong loại bài đăng đó, truy vấn giá trị meta.

Sau đó, trước tiên tôi muốn sắp xếp theo menu_ordertăng dần, sau đó theo giá trị meta tùy chỉnh wcu_lastnametăng dần. Tuy nhiên, giá trị orderby dường như không thể lấy một mảng.

Làm cách nào tôi có thể đặt hàng truy vấn bằng nhiều giá trị thứ tự?


3
Nếu tôi không sai, chỉ cần thêm khoảng cách chúng.
kaiser

Câu trả lời:


18

@Musa làm thế nào chúng ta có thể đặt nhiều giá trị đơn hàng cho các trường? Tôi đã tự hỏi cùng một câu hỏi và tôi tìm thấy điều này:

Trong 4.0, bây giờ bạn có thể chuyển một mảng cho WP_Query làm giá trị cho orderby.

Cú pháp trông giống như:

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

Hãy xem tại đây để biết thêm chi tiết: https://make.wordpress.org/core/2014/08/29/a-more-powerful-order-by-in-wordpress-4-0/


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

Bằng cách sử dụng những gì @kaiser đề xuất và meta_querytùy chọn, tôi có thể nhận được truy vấn mà tôi đang tìm kiếm.


Làm thế nào chúng ta có thể đặt nhiều giá trị đơn hàng cho các trường? Ví dụ: ASC cho menu_order, DESC cho ngày
Musa

0
    $args = [
        's'              => $keyword,
        'post_type'      => ['page'],
        'paged'          => $paged,
        'posts_per_page' => PAGE_LIMIT,
        'tax_query' => [
             [
                  'taxonomy'         => TAX_RESOURCE_PAGE,
                  'field'            => 'slug',
                  'terms'            => $c_term_slug
             ],
        ],
        'post_status'    => 'publish',
        'meta_key'       => 'order',
        'meta_type'      => 'NUMERIC',
        'orderby'        => [
             'meta_value_num' => 'ASC',
             'ID' => 'DESC',
        ],
    ];
    $wp_query = new WP_Query( $args );

mã của tôi là một ví dụ.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.