WORDPRESS:在一个主要类别中显示子类别及其包含的帖子的列表

时间:2011-09-14 02:52:10

标签: php wordpress wp-list-categories

我发现了很多代码和插件来做各种事情;从特定猫的展示帖子,猫的子序列等。但是,我不能为我的生活找到,也不知道WP API是否足以完成我需要的东西..

以下是我要完成的事情:

显示Cat31中所有子类的UL,以及每个子类的帖子:

SubCat1   发布1   发布2

SubCat2   发布1   发布2

SubCat3   发布1   发布2

这是非常简单的,但我尝试过的所有循环都在subcat循环或post循环失败(一个或另一个起作用,我不能让它们都起作用..)

所以,除非我能找到一个插件来执行此操作(我更喜欢将其编码为模板文件!)然后我需要弄清楚如何:

Cat31中的Loop Subcats   循环子广播时,每个子标记的循环帖子

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:4)

我认为这就是你所需要的。

$categories=  get_categories('child_of=10');  for each  $categories as $category {
      //Display the sub category information using $category values like $category->cat_name
      $posts_array = get_posts( 'category=$category->cat_ID' );
      for each $posts_array as $post {
           //Display the posts information using $post values like $post->post_title
      }  }

你只需要格式化它们。希望这会有所帮助。

答案 1 :(得分:3)

@Free Lancer, 再次感谢..在使用您的代码之后,我能够使其工作。一些变化包括:

'为每个'更改为foreach

包含在()

中的

foreach个语句

我也更改了'category=$category->cat_ID' to 'cat='.$category->term_id

最后,我更改了帖子上的foreach循环,并将setup_postdata( $post );添加到该循环中。

对于所有需要在指定类别中显示子类别列表的片段,并显示每个子类别中的所有帖子..这里是:

$categories =  get_categories('child_of=31');  
foreach  ($categories as $category) {
        //Display the sub category information using $category values like $category->cat_name
        echo '<h2>'.$category->name.'</h2>';
        echo '<ul>';

        foreach (get_posts('cat='.$category->term_id) as $post) {
            setup_postdata( $post );
            echo '<li><a href="'.get_permalink($post->ID).'">'.get_the_title().'</a></li>';   
        }  
        echo '</ul>';
    }

再次感谢所有的帮助,并指出我正确的方向!!