2016-07-26 142 views
2

我已經試過這種方式,但排序依據爲了不工作WP_Query類如何在WP_Query中按日期排序?

$posts = new WP_Query(
array(
    'post_type'=> 'block_code', 
    'orderby'=> 'post_date', 
    'order' => 'DESC' 
    ) 
); 

它總是返回排序依據=> 'menu_order'爲了= 'ASC'

注意:如果我在URL中使用param作爲orderby = date & order = ASC那麼它工作正常但我需要作爲WP_Query的參數。

在此先感謝

回答

2

您可以在WP_Query()設置多個參數排序依據。像日期冠軍menu_order

這裏是Order & Orderby Parameters

試試這個例子

$params = array(
    'post_type' =>'block_code', 
    'orderby' => array(
     'date' =>'DESC', 
     'menu_order'=>'ASC', 
     /*Other params*/ 
    ) 
); 
$query = new WP_Query($params); 

這個例子正常工作,我在WP Version_4。x

+0

我已經用這種方式解決了這個問題,謝謝@sumon :) :) – tarikul05

+0

謝謝@ tarikul05 –

0

按照文檔顯示帖子日期排序,你應該使用date(但默認情況下日期反正)

「排序依據(字符串|數組) - 排序檢索到的帖子。默認爲'date(post_date)',可以傳遞一個或多個選項。「與某些類型關聯

 'orderby'=> 'date', 

要顯示的帖子這些都是有效的types.So你必須對他們的

  • 「後」用 - 帖子。
  • '頁面' - 一頁。
  • '修訂' - 修訂。
  • '附件' - 附件。雖然默認WP_Query post_status 是'發佈',但附件具有默認的post_status'繼承'。 這意味着沒有附件將被返回,除非你也明確地 將post_status設置爲'繼承'或'任何'。 (參見post_status,下文)
  • 「nav_menu_item」 - 導航菜單項
  • 「任意」 - 檢索的任何類型的除「exclude_from_search」設置爲true修改和類型與 。
  • 自定義文章類型(例如電影)

https://codex.wordpress.org/Class_Reference/WP_Query

+0

已嘗試'orderby'=>'date'但不適用於我 – tarikul05

+0

WP_Query('orderby = date&order = DESC')這是否適合您? –

+0

它的工作,但沒有** post_type **值對我來說更少,如果我添加** post_type **,那麼它不工作 – tarikul05