2014-10-22 18 views
1

我想get_post爲了通過meta_value_num和元鑰匙拿到後,我想這樣的代碼:獲取職位的順序用兩位元鍵

get_posts(
    array( 'post_type' => 'posts', 
     'order' => 'ASC', 
     'orderby' => 'meta_value_num', 
     'meta_query' => array(
      array('key' => 'class'), 
      array('key' => 'chair') 
     ) 
    ) 
); 

我想通過類的號碼,然後椅子的後排序號碼。 但htis代碼不能正常工作這怎麼辦?

回答

1

儘管新的orderby參數在WP_Query中很好,但它不支持多個meta_key的多個orderby

我已經通過幾個場景去了,甚至去了,挖成TRAC,並與以下

關於這個問題沒有任何問題已經得到解答。從這兩個鏈接看來,還有一個問題,例如meta_key以及另一個字段,例如發佈日期。我還沒有嘗試過。

我真的覺得你有兩個選擇,而不創建兩個查詢。

  • 黑客使用posts_orderby過濾器在他的回答here

  • 通過@s_ha_dum描述通過利用使用usort PHP排序。這裏的想法是將您的查詢排序一個meta_key,然後在循環開始之前將返回的帖子數組($ posts)和第二個meta_key排序。您可以使用the_posts過濾器(只記得取下過濾網進行一次)在你的模板或者乾脆取消設置$posts並設置有一次做

職位的重新排序陣列