2016-07-25 3 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; ?> 

Изменить как ваша потребность.

Смежные вопросы