2013-07-01 173 views
2

當前我創建一個查詢來顯示所有自定義帖子類型及其帖子。但它不起作用,你能告訴我這個代碼有什麼問題嗎?如何獲取所有類別的所有帖子自定義帖子類型?

<?php 
     //for each category, show all posts 
     $cat_args=array(
      'orderby' => 'name', 
      'order' => 'ASC', 
      ); 
     $categories=wp_list_categories($cat_args); 
      foreach($categories as $category) { 
      $args=array(
       'showposts' => -1, 
       'category__in' => array($category->term_id), 
       'caller_get_posts'=>1 
      ); 
      $posts=get_posts($args); 
       if ($posts) { 
       echo '<p>Category: <a href="' . get_category_link($category->term_id) . '" title="' . sprintf(__("View all posts in %s"), $category->name) . '" ' . '>' . $category->name.'</a> </p> '; 
       foreach($posts as $post) { 
        setup_postdata($post); ?> 

    <p><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"> 
    <?php the_title(); ?> 
    </a></p> 
    <?php 
       } // foreach($posts 
       } // if ($posts 
      } // foreach($categories 
     ?> 

回答

3

使用類似這樣的東西。

這裏我的職務類型爲「支柱類名稱」和分類是「分類名稱」

<?php 
    $cat_args = array (
     'taxonomy' => 'taxonomy-name', 
    ); 
    $categories = get_categories ($cat_args); 
    foreach ($categories as $category) { 
     $cat_query = null; 
     $args = array (
     'post_type' => 'post-type-name', 
     'taxonomy-name' => $category->slug 
    ); 
     $cat_query = new WP_Query($args); 
     if ($cat_query->have_posts()) { 
     echo "<h5>". $category->name ."</h5>"; 
     echo "<ul>"; 
     while ($cat_query->have_posts()) { 
      $cat_query->the_post(); 
      ?> 
      <li> 
       <?php the_title(); ?> 
       <?php the_content(); ?> 
      </li> 
      <?php 
     } 
     echo "</ul>"; 
     } 
     wp_reset_postdata(); 
    } 
?> 
+1

感謝您的回答。它看起來不錯,但它不會獲得每個類別的帖子,它會爲每個類別顯示相同的帖子。 – Kien

+1

我在這裏得到了答案http://stackoverflow.com/questions/10506505/wordpress-getting-posts-by-custom-post-type-and-category-with-each-category-a – Kien

+0

這是一個很大的幫助,歡呼聲! –

相關問題