Отображение пользовательского таксономического термина на странице, составленной из постов

Я пытаюсь отобразить термин таксономии для каждого сообщения на этой странице, используя

<?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; ?>

0

Решение

Если это больше страница архива, чем одна страница, использующая $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 />';
}
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]