2016-07-25 124 views
0

我想創建一個循環,顯示自定義帖子類型的類別(作爲按鈕)的列表。我有一個循環工作,但它循環所有的自定義帖子並顯示每個類別。所以現在如果我有兩個相同類別的帖子,它會顯示相同的類別兩次。此外,我需要回應自定義類爲我的同位素過濾器工作。Wordpress循環顯示重複的類別

這是我的代碼:

  <?php 
      $args = array( 
       'post_type' => 'ondernemers', 
       'posts_per_page' => 10 
       ); 

      $loop = new WP_Query($args); 
      while ($loop->have_posts()) : $loop->the_post(); 

      $categories = get_the_category($post->ID, 'taxonomy'); 
      foreach($categories as $category) { 
       echo '<button class="button" data-filter=".' . $category->slug . ' "><div class="button-img-' . $category->slug . '"></div>' . $category->name . '</button>'; 
      } 

      endwhile; 
      ?> 

有沒有一種方法,使循環打印每個類別只有一次,而不是一次每次它只是每一個獨特的帖子?

回答

1

使用以下代碼檢索自定義帖子類型的類別名稱。

<?php 
    $args = array(
     'type'      => 'post', /* custom post type name */ 
     'parent'     => '', 
     'orderby'     => 'id', 
     'order'     => 'ASC', 
     'hide_empty'    => 1, 
     'hierarchical'    => 1, 
     'taxonomy'     => 'category' /* custom post type texonomy name */ 
    ); 
    $cats = get_categories($args); 
    foreach ($cats as $cat) {   
     $cat_id= $cat->term_id; 
     $cat_name= $cat->name; ?> 
     <h3><?php echo '<a href="' . get_category_link($cat_id) . '">'.$cat->name.'</a>'; ?></h3>  
    <?php } ?> 
1

您可以嘗試此操作來檢索自定義帖子類型分類列表。

<?php 
$categories = get_the_terms($post->ID, 'taxonomy_name'); 
foreach($categories as $category): ?> 
    <button data-filter="<?php echo $category->slug; ?>"> 
    <?php echo $category->name; ?> 
    </button> 
<?php endforeach; ?> 

修改爲您的需要。