2017-12-12 6 views
0

キー 'ディーラーシップ'がディーラー1またはディーラー2と等しい場合に結果を表示するメタクエリが必要で、最初に使用される&デモ秒。Meta Query - ディーラー1とディーラー2のディスプレイ車両を販売店と条件別に並べ替え

これまでのところ、私はこのコードを使用してきた:

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 
$args = array(
    'post_type' => array('vehicle'), 
    'post_status' => 'publish', 
    'posts_per_page' => 10, 
    'paged' => $paged, 
    'meta_query' => array(
    'relation' => 'OR', 
     array(
     'key' => 'dealership', 
     'value' => 'dealer1', 
     'compare' => '=' 
    ), 
     array(
     'key' => 'dealership', 
     'value' => 'dealer2', 
     'compare' => '=' 
    ), 
), 
    'meta_key' => 'condition', 
    'orderby' => 'meta_value', //meta_value_num or meta_value 
    'order' => 'DESC' 
); 

上記のコードは完全に正常に動作し、それは次の順序で車を表示するように、しかし、私が欲しいソート順を変更:

1)Dealer1の中古車
2)Dealer1のデモ車
3)Dealer2の中古車
4)Dealer2のデモ車

だから私はディーラーと条件で結果を並べ替える必要があります。

私はいくつかのバリエーションを試しましたが、私の後ろにある結果を与えるものはありません。ほとんどのものは全く動作していません。

は、私は、これは、クエリのこのタイプを使用して達成することができた疑いがある:私はdealer1 & dealer2のみ表示結果にこのクエリを取得することはできませんされてきましたが

$paged = (get_query_var('page')) ? get_query_var('page') : 1; 
$args = array(
    'post_type' => array('vehicle'), 
    'post_status' => 'publish', 
    'posts_per_page' => 10, 
    'paged' => $paged, 
    'meta_query' => array(
     'relation' => 'AND', 
     'branchsort' => array(
      'key'  => 'dealership', 
      'compare' => 'EXISTS', 
     ), 
     'demosort' => array(
      'key'  => 'condition', 
      'compare' => 'EXISTS', 
     ), 
    ), 
    'orderby' => array(
     'branchsort' => 'ASC', 
     'demosort' => 'DESC', 
    ), 
); 

ご協力いただければ幸いです。事前

おかげでウィレム

答えて

0

だから、もう少し工夫し、最大読んだ後、私はこの思い付いた:誰もがより良い方法を持っている場合

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 
// Query arguments 
$args = array(
    'post_type' => array('vehicle'), 
    'post_status' => 'publish', 
    'posts_per_page' => 10, 
    'paged' => $paged, 
    'meta_query' => array(
    'relation' => 'AND', 
     'branch' => array(
      'key' => 'dealership', 
      'value' => array ('dealer1', 'dealer2'), 
     ), 
     'condition' => array(
      'key' => 'condition', 
      'compare' => 'EXISTS', 
     ), 
    ), 
    'orderby' => array(
     'dealership' => 'DESC', 
     'condition' => 'DESC', 
    ), 
); 

は、トリックを行うようですそれをやって、私に知らせてください。

関連する問題