2013-10-07 120 views
0

我已經寫了WordPress的主題,我喜歡將最新的帖子發佈在類別中,並且它的子類別將顯示在任何其他帖子的頂部。WordPress | WP_Query |從類別和子類別獲取最新的端口

一個例子。可以說我有以下幾類:

Cat 1 
    Cat 1 - 1 
    Cat 1 - 2 
     Cat 1 - 2 - 1 

然後,我創建了以下職位:

Post #5 | Cat 1 - 2  | Date 2013 
Post #4 | Cat 1 - 1  | Date 2012 
Post #3 | Cat 1 - 2  | Date 2011 
Post #2 | Cat 1   | Date 2010 
Post #1 | Cat 1 - 1 - 2 | Date 2009 

在前端,當我瀏覽到貓1我不明白的最新帖子在帖子#5屬於貓1 - 2它是貓1,而是我正在帖子#2的子類。

目前我使用此代碼:

$categoryID   = get_query_var('cat'); 

$args = array(
    'post_type'   => 'post', 
    'posts_per_page' => 1, 
    'category__in'  => array($categoryID), 
    'post_status'  => 'publish' 
); 

$eiPost = new WP_Query($args); 

的問題是,這個代碼僅在頂級類別,而不是從子類返回最新帖子。我如何修改此代碼,以便從所有子類別和頂級類別中檢索最新的帖子?

有沒有解決這個問題的方法?

回答

1

'category__in'只顯示該類別的帖子,而不是子類別。

嘗試使用'cat' => $categoryID insted。所以你的$args應該是:

$args = array(
'post_type'   => 'post', 
'posts_per_page' => 1, 
'cat'  => $categoryID, 
'post_status'  => 'publish' 
);