2014-12-03 117 views
0

我有類別頁面中的列表帖子和子類別的問題。我需要的是:WordPress的類別 - 列表帖子和子類別

主要類別頁面標題

子目錄1

  • 後1
  • 後2
  • 後3

子目錄2

  • 後1周
  • 後2
  • 後3

我自定義文章類型工作,所以它可能是有點困難。感謝幫助。

回答

0

您可以使用下面的代碼與post_type =所需類型

$subcats = get_categories('child_of=' . $catID); 
foreach($subcats as $subcat) { 
    echo '<h2>' . $subcat->cat_name . '</h2>'; 
    echo '<ul>'; 
    $args = array('post_type' => 'post','category'=>$subcat->cat_ID); 
    $subcat_posts = get_posts($args); 
    foreach($subcat_posts as $subcat_post) { 
     $postID = $subcat_post->ID; 
     echo '<li>'; 
     echo '<a href="' . get_permalink($postID) . '">'; 
     echo get_the_title($postID); 
     echo '</a></li>'; 
    } 
    echo '</ul>'; 
} 
+0

是的!它工作正常,但這只是我需要的一半。這個列表是可以的,但它必須是特定的。 當我在主要類別1,其中有子類別1和POST1 我想看看點擊: **主要類別頁面標題** 子目錄1 - 交1 同例如,當我點擊主要類別2,其中有subcategory2(帶POST2),subcategory3(與post3) 我想看看: **主要類別2頁標題** 子目錄2 - 後2 子類別3 - post 3 – user3049258 2014-12-03 12:43:13

0

最後我想出這樣的:

<?php 

$parentCatName = single_cat_title('',false); 
$catID = get_cat_ID($parentCatName); 
$parentCatID = get_cat_ID($parentCatName); 
$categories = get_categories('child_of='.$parentCatID); 
$subcats = get_categories('child_of=' . $catID); 

    ?> 
<?php foreach ($categories as $cat) { ?> 
    <div class="genre_subcat"> 
     <?php query_posts("cat=$cat->cat_ID&showposts=-1&order=ASC&orderby=name&post_type=armatury-voda"); ?> 
     <h2><?php single_cat_title(); ?></h2> 
     <small><?php echo category_description($cat->cat_ID); ?></small> 
     <?php while (have_posts()) : the_post(); ?> 
      <div class="post hentry"> 
     <?php $url = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), 'thumbnail'); ?> 
    <img src="<?php echo $url[0]; ?>" alt="" width="150" /> 
       <h3><?php the_title(); ?></h3> 
       <?php the_content(); ?> 
     <?php 
$myname = get_post_meta($post->ID, 'kestazeni', true); 
if ($myname) { ?> 

     <div class="dont"><a href="<?php echo do_shortcode ('[field "kestazeni"]'); ?>">Stáhnout PDF</a></div> 

<?php 
} 
else { 
echo ''; 
} 
?> 

      </div> 
     <?php endwhile; ?> 
    </div>  
     <?php }?>