2016-12-15 6 views
0

私は2つのメタキーでデータを注文しようとしていますが、私は を行うことができません。2つのメタキーで並べ替え

このコードは、私のために働いていません。

$args= array(
    "post_type" => "post_type", 
    "post_status" => "publish", 
    'meta_query' => array(

          array(
           'key'  => 'keyname1', 
           'orderby' => 'meta_value_num', 
           'order' => DESC, 
          ), 
           array(
           'key'  => 'keyname2', 
           'orderby' => 'meta_value_num', 
           'order' => DESC, 
          ), 

), 


    "posts_per_page" => 10 
); 

このコードは完全に単一のキーのために動作しますが、二つの鍵のためではない:

$args=array(
     "post_type" => "post_type", 
     "post_status" => "publish", 
     "orderby" => array(
     "meta_value_num" => "DESC", 
     "rand" => "ASC"), 
     "meta_key" => "keyname",); 

私はこれをどのように行うことができますか?追加した後

+0

ここで、「DESC」の引用符はありますか? – Noman

+0

@Noman引用符でも動作しません – RItika

+0

あなたは 'WP_QUERY'を使用していますか? - > '$ query = new WP_QUERY($ args);のように上記の' $ args'に対して実行したクエリを表示してみてください。 print_r($ query-> request); '?データベース内のクエリを実行して、注文に関する問題を確認してみてください – Noman

答えて

0

=>「関係」「OR」これを試してみてください、私が考える仕事も

<?php 
$_query = new WP_Query(array(
     'post_type'   => 'post_type', 
     'post_status'  => 'publish', 
     'meta_query' => array(
      'relation' => 'OR', 
      array(
       'key'  => 'key1' 
      ), 
      array(
       'key'  => 'key2' 
      ), 
     ), 
    )); 
?> 
1

私は再び私に このソリューションを思い出させるためにソリューション感謝@Jomalジョンを考え出しました。ここで答えは誰かに役立つかもしれません。

$args=array(
    "post_type" => "post_type", 
    "post_status" => "publish", 
    "meta_query" => array(

      'key_1_clause' => array(
      'key' => 'key_1', 

     ), 
    'key_2_clause' => array(
      'key' => 'key_2', 

     ), 


), 
    'orderby' => array(
    "meta_value_num" => "DESC", 
     'key_1_clause' => 'DESC', 
     'key_2_clause' => 'DESC', 
    ), 

"posts_per_page" => 10 
); 
関連する問題