Я пытаюсь отобразить термин таксономии для каждого сообщения на этой странице, используя
<?php foreach(get_the_terms($wp_query->post->ID, 'stock') as $term) echo $term->slug; ?>
Я использовал это раньше в классах тела, чтобы я мог лучше оформлять страницы, но я не уверен, почему это не работает здесь …
кто-нибудь может помочь, пожалуйста?
<div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true">
<?php $catquery = new WP_Query( 'cat=10&posts_per_page=10' ); while($catquery->have_posts()) : $catquery->the_post(); ?>
<div class="panel panel-default">
<div class="panel-heading" role="tab" id="headingOne">
<div class="container">
<a data-toggle="collapse" class="collapsed" data-parent="#accordion" href="#collapse<?php echo $i; ?>" aria-expanded="true" aria-controls="collapseOne">
<h4 class="panel-title">
<?php the_title(); ?><div class="stock-level"> <?php foreach(get_the_terms($wp_query->post->ID, 'stock') as $term) echo $term->slug; ?></div>
</h4></a>
</div>
</div>
<div id="collapse<?php echo $i; ?>" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingOne">
<div class="panel-body">
<div class="container">
<div class="row">
<div class="col-xs-12 col-sm-7 col-md-7 col-lg-7 recycled-image">
<?php echo the_post_thumbnail(); ?>
</div>
<div class="col-xs-12 col-sm-5 col-md-5 col-lg-5">
<h1><?php the_title(); ?></h1>
<p><?php the_content(); ?></p>
</div>
</div>
</div>
</div>
</div>
</div>
<?php $i++; endwhile; ?>
Если это больше страница архива, чем одна страница, использующая $wp_query->post->ID
не вернет идентификатор всех сообщений в архиве.
Вы должны сделать что-то вроде:
$args = array('YOUR POST ARGS');
$posts = get_posts($args);
foreach ($posts as $post ) {
setup_postdata( $post );
foreach(get_the_terms(get_the_ID(), 'stock') as $term){
echo $term->slug.'<br />';
}
}
Других решений пока нет …