2016-04-18 13 views
0

私は "sale_status"というカスタムフィールドを持っていて、値は( "For Sale"、 "Sold"、 "Let")がadminのラジオボタンに表示されます。それぞれのプロパティを1つのプロパティに割り当てることができます。ワードプレスの複数のカスタムフィールド値による並べ替え

現在のところ、クエリでは掲載日までにプロパティの注文が取得されますが、sales_statusとdateで照会する必要があります。

私のコードは

$args = array(
     'post_type'  => 'zoo-property', 
     'posts_per_page' => $query__per_page, 
     'post_status'  => 'publish', 
     'paged'   => $query__page,    
     'meta_key'  => 'sale_status', 
     'orderby'   => 'meta_value_num', 
     'order'   => 'DESC', 

     'meta_query' => array(
     'relation' => 'AND', 
     $query__types, 
     $query__locations, 
     $query__statuses, 
     $query__investments, 
     $query__price 
    ) 

    ); 


    $properties_wp_query = new WP_Query($args); 
    echo "Last SQL-Query: {$properties_wp_query->request}"; 

below--ようですが、それは正しい順序で表示されません。

ご協力いただきまして誠にありがとうございます。前もって感謝します。

答えて

2

同じクエリ内に複数のソート基準を含める場合は、orderbyの値は配列でなければなりません。詳細はWP_Query documentationを参照してください。

$args = array(
    'post_type'  => 'zoo-property', 
    'posts_per_page' => $query__per_page, 
    'post_status'  => 'publish', 
    'paged'   => $query__page,    
    'meta_key'  => 'sale_status', 
    'orderby'   => array('meta_value_num' => 'DESC', 'post_date' => 'DESC'), 
    'meta_query' => array(
     'relation' => 'AND', 
     $query__types, 
     $query__locations, 
     $query__statuses, 
     $query__investments, 
     $query__price 
    ) 
); 
+0

「meta_value_num meta_value_num」も使用できます。配列は、順序付きフィールドごとに異なるソート順を設定する場合にのみ必要です(この機能は[WP 4.0で追加されました](https://make.wordpress.org/core/2014/08/29/a-more -powerful-order-by-wordpress-4-0 /))。 – vard

+0

それを指摘してくれてありがとう! – Technoh

+0

@Technohご協力いただきありがとうございます。それは魅力のように働いた。すべての "For Sale"を最初に表示し、次に "Sold"をすべて表示してから、すべて "Let"を表示することが可能かどうか、 – Raj

関連する問題