因此,我有一个代码,其中显示了自定义分类法(“颜色”)的所有项目。只有在选择了一个分类学项目的情况下,我才试图显示该部分(“colour\\u chart”)。简单地说,如果至少选择了一个分类项目(例如标记),如何显示一个部分,如果没有选择分类项目,如何不显示该部分?
<section class="colour__chart">
<div class="container">
<div id="color-chart">
<h2>Colour Chart</h2>
<hr class="divider">
<?
$terms = get_the_terms( get_the_ID(), \'colour\' );
if( $terms && ! is_wp_error( $terms ) ){
foreach( $terms as $term ){
echo get_field( \'name\', \'colour_\' . $term->term_id );
echo \'<div class="col-md-2 col-sm-4 col-xs-4 text-center">\';
echo \'<div class="color-chart__item" style="background-color:\' . get_field( \'colour_acf\', \'colour_\' . $term->term_id ) . \'"></div>\';
echo \'<p>\' . $term->name . \'</p>\' ;
echo \'</div>\' ;
}
}
?>
</div>
</div>
</section>
我试过这样的方法,但不幸的是没有用
<?php if ( is_tax(\'colour\',) ) { ?>
<section class="colour__chart">
<div class="container">
<div id="color-chart">
<h2>Colour Chart</h2>
<hr class="divider">
<?
$terms = get_the_terms( get_the_ID(), \'colour\' );
if( $terms && ! is_wp_error( $terms ) ){
foreach( $terms as $term ){
echo get_field( \'name\', \'colour_\' . $term->term_id );
echo \'<div class="col-md-2 col-sm-4 col-xs-4 text-center">\';
echo \'<div class="color-chart__item" style="background-color:\' . get_field( \'colour_acf\', \'colour_\' . $term->term_id ) . \'"></div>\';
echo \'<p>\' . $term->name . \'</p>\' ;
echo \'</div>\' ;
}
}
?>
</div>
</div>
</section>
}
<?php } ?>
最合适的回答,由SO网友:Krzysiek Dróżdż 整理而成
你已经检查过了,如果给定的帖子分配了任何术语。您所需要做的就是在代码的前面移动该检查。
<?php
$terms = get_the_terms( get_the_ID(), \'colour\' );
if ( $terms && ! is_wp_error( $terms ) ) :
?>
<section class="colour__chart">
<div class="container">
<div id="color-chart">
<h2>Colour Chart</h2>
<hr class="divider">
<?php
foreach ( $terms as $term ) {
echo get_field( \'name\', \'colour_\' . $term->term_id );
echo \'<div class="col-md-2 col-sm-4 col-xs-4 text-center">\';
echo \'<div class="color-chart__item" style="background-color:\' . get_field( \'colour_acf\', \'colour_\' . $term->term_id ) . \'"></div>\';
echo \'<p>\' . $term->name . \'</p>\' ;
echo \'</div>\' ;
}
?>
</div>
</div>
</section>
<?php endif; ?>