如何显示自定义分类的类别

时间:2020-11-24 作者:Shark Deng

在Build类别中,我们可以使用has_category()the_category() 显示帖子是否有类别和类别名称。

现在,我正在使用我的自定义帖子类型和自定义分类法。在这种情况下,上述两个函数无效。我想知道这里使用的API是什么?非常感谢。

2 个回复
SO网友:Tiyo

通常我用has_term()the_terms().

以下是示例

if( has_term(\'\', \'genre\') ){
    // do something
}
the_terms( $post->ID, \'category\', \'categories: \', \' / \' );
或者,我用这个来获取列表get_the_term_list()

例如

echo get_the_term_list($post->ID, \'category\', \'\', \', \');

SO网友:Shark Deng

如果你感兴趣的话,我找到了这个工作方法。

if ( true === $show_categories && has_category() ) {
            ?>

            <div class="entry-categories">
                <span class="screen-reader-text"><?php _e( \'Categories\', \'twentytwenty\' ); ?></span>
                <div class="entry-categories-inner">
                    <?php the_category( \' \' ); ?>
                </div><!-- .entry-categories-inner -->
            </div><!-- .entry-categories -->

            <?php
            
        // custom post type
        } else {
            $post_type = get_post_type();  
            $category =  $post_type . \'_cat\';
            $taxonomy_names = wp_get_object_terms(get_the_ID(), $category);
            
            if (true === $show_categories && !empty($taxonomy_names) ) {
                $term = array_pop($taxonomy_names);
                ?>
                <div>
                    <span><?php _e( \'Categories:\', \'twentytwenty\' ); ?></span>
                    <a href="<?php echo get_term_link( $term->slug, $category ); ?> "> <?php echo $term->name; ?> </a>
                </div><!-- .entry-categories -->
                <?php
            }
            
        }
这是example link, 如果你想看到结果。