2013-03-10 144 views
0

對不起,複雜的標題。Wordpress顯示所有子類別+文章中的文章子類別中的邊欄

我正在使用此代碼,以顯示我的子子類與其下的帖子。問題是代碼顯示我在網站上的所有子分類(+帖子)。我只想顯示與帖子有關聯的子分類。子項目下的所有子子項都與帖子有關聯,所以您可以說因爲帖子與子項目相關,所以我想要顯示子項目下的子子項目。

類別結構(新年是在標題):

    • 兒童1
      • 遊戲年1
        • 後這裏
      • 遊戲2年
        • 後這裏

我的代碼:

<?php 
$cat_id = get_query_var('cat'); 
$subcats = get_categories('child_of=' . $cat_id); // child categories 

class Cat_Walker extends Walker_Category { 
    function end_el(&$output, $page, $depth = 0, $args = array()) { 
     $posts = get_posts('cat=' . $page->term_id); 

     if (sizeof($posts) > 0) { 
      $output .= '<ul>'; 

      foreach ($posts as $post) { 
       $output .= sprintf('<li><a href="%1$s">%2$s</a></li>', get_permalink($post->ID), $post->post_title); 
      } 

      $output .= '</ul>'; 
     } 

     $output .= '</li>'; 
    } 
} 

foreach ($subcats as $subcat) { 
    $subsubcats = get_categories('child_of=' . $subcat->term_id); // sub child categories 

    foreach ($subsubcats as $subsubcat) { 
     $args = array(
      'title_li'   => '', 
      'show_option_none' => '', 
      'taxonomy'   => 'category', 
      'child_of'   => $subsubcat->term_id, 
      'walker'   => new Cat_Walker() 
     ); 

     wp_list_categories($args); 
    } 
} 

?> 

任何想法?

在此先感謝!

回答

0

我相信你得到錯誤的類別ID。你應該使用這個:

$category = get_category(get_query_var('cat')); 
$cat_id = $category->cat_ID; 

感謝而不是

$cat_id = get_query_var('cat'); 
+0

的答覆!那麼它得到正確的cat_id,唯一的是它打印網站上的所有子子類別,我想打印所有子類別的帖子相關的,在這種情況下,它是子子女的父親(子女1) 。我如何讓代碼做到這一點? – Livog 2013-03-11 10:19:30

相關問題