2016-10-13 4 views
0

사용자 정의 분류의 모든 용어를 표시하도록 기본 루프를 설정했습니다.get_terms 루프 내에 게시물 가져 오기

<?php 
$workshops = get_terms('workshop', array(
    'orderby' => 'name', 
    'hide_empty' => 0, 
)); 
foreach ($workshops as $workshop) { ?> 

     <h3><?php echo $workshop->name; ?></h3>   
     <?php echo term_description($workshop); ?>      

<?php } ?> 

해당 루프 내에서 각 용어에 대한 모든 게시물을 어떻게 표시합니까?

예 :

분류학은 영화입니다. 이용 약관 등 코미디, 공포,이다

나는 출력이

코미디 코미디 기간 동안 설명

  • 영화 1
  • 영화 2

싶습니다 공포 설명 공포 용어

  • 영화 3
  • 영화 4

감사합니다! 리치

답변

0

첫째로, 당신은 그래서 우리는 첫째가 수정해야 get_terms의 사용되지 않는 버전을 사용하고 있습니다 :

$workshops = get_terms(array(
    'taxonomy' => 'workshop', 
    'orderby' => 'name', 
    'hide_empty' => false 
)); 

그런 다음 용어 루프 내에서, 당신은 가을 모든 게시물을 잡기 위해 다른 쿼리를 작성해야 용어에서 마지막으로

$query = new WP_Query(array(
    'post_type' => 'post', // Or your custom post type's slug 
    'posts_per_page' => -1, // Do not paginate posts 
    'tax_query' => array(
     array(
      'taxonomy' => 'workshop', 
      'field' => 'term_id', 
      'value' => $workshop->term_id 
     ) 
    ) 
)); 

, 여전히 장기 루프 내에서 게시물의 목록을 작성하기 위해 다른 루프를 작성 :

<?php if ($query->have_posts()): ?> 
    <ul class="term-post-list" id="term-<?php echo $workshop->term_id; ?>-posts"> 

     <?php while ($query->have_posts()): $query->the_post(); ?> 
      <li id="post-<?php the_ID(); ?>" <?php post_class(); ?>> 
       <?php the_title(); ?> 
      </li> 
     <?php endwhile; wp_reset_postdata(); ?> 

    </ul> 
<?php endif; ?> 
+0

감사합니다. 오늘 시도하고 다시보고 – user1050887

+0

내 마지막 코드 스 니펫에는 사소한 문제가 있으므로 업데이트 된 버전을 사용하는지 확인하십시오. 목록에서 조건을 래핑하고'class = " "비트로 막"'(이 함수는 class 속성을 출력합니다). –

관련 문제