Wordpress显示所有子类别+文章中的文章子类别中的边栏

Wordpress显示所有子类别+文章中的文章子类别中的边栏

问题描述:

对不起,复杂的标题。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); 
    } 
} 

?> 

任何想法?

在此先感谢!

我相信你得到错误的类别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