在单个模板上列出所有类别,将活动类别添加到附加到帖子的类别中

问题描述 投票:0回答:1

在我的单个帖子模板上,我需要列出所有类别,还需要向与该帖子相关联的类别中添加一个活动类。

这是我所见过的最接近的类,但没有返回活动类:

            $term    = get_queried_object();
            $term_id = ( isset( $term->term_id ) ) ? (int) $term->term_id : 0;
            $categories = get_categories( array(
                'taxonomy'   => 'category', 
                'orderby'    => 'name',
                'parent'     => 0,
                'hide_empty' => 0, 
            ) );
            ?>

            <ul>
                <?php
                foreach ( $categories as $category ) :
                    $cat_ID        = (int) $category->term_id;
                    $category_name = $category->name; 

                    $cat_class = ( $cat_ID == $term_id ) ? 'active' : ''; ?>
                    <li><a href="<?php echo home_url() ?>/category/<?php echo $category->slug ?>" class="<?php echo $cat_class; ?>"><?php echo  $category_name; ?></a></li>

             <?php endforeach; ?>

            </ul> ''''

我也尝试过wp_list_categories();结果相同。 $ term_id返回“ 0”,这是我怀疑问题所在的地方,因为它与类别ID不匹配。来自here的原始代码>

在我的单个帖子模板上,我需要列出所有类别,还需要向与该帖子相关联的类别中添加一个活动类。这是我所见过的最接近的类,但没有返回活动类:...

php wordpress post categories term
1个回答
0
投票

我认为您需要的是has_category($category, $post)函数,如果您的帖子具有给定的类别,则该函数返回true。

© www.soinside.com 2019 - 2024. All rights reserved.