仅当选择了自定义分类时才显示该部分

时间:2018-12-02 作者:Jamdev

因此,我有一个代码,其中显示了自定义分类法(“颜色”)的所有项目。只有在选择了一个分类学项目的情况下,我才试图显示该部分(“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 } ?>

1 个回复
最合适的回答,由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; ?>

相关推荐

Display Custom Taxonomy names

我正在尝试显示自定义帖子类型的自定义分类法。因此,此分类法特定于此自定义帖子类型。不幸的是,我无法让它们显示出来。这是我在函数中的代码。php注册自定义分类法:add_action(\'init\', \'products_categories\', 0); function products_categories(){ $labels = array (\'name\' => _x(\'Product Categories\',\'taxonomy general nam