如何将自定义分类的活动类添加到li

时间:2017-10-03 07:25:52

标签: php wordpress

我创建了一个自定义帖子类型,并且还创建了自定义分类并在前端显示,但问题未设置,活动类。

foreach ($all_categories as $cat) {
                            $term = term_exists($cat->name, 'category_name');
                            if ($term !== 0 && $term !== null) {
                                echo $cat->name. 'category exists!';
                            }
                            if ($cat->category_parent == 0) {
                                $category_id = $cat->term_id;
                                ?>
                                <li><a href="<?php echo esc_url(get_category_link($cat->term_id)); ?>"><?php echo $cat->name; ?></a></li>
                                <?php
                            }
                        }

请参阅此屏幕截图:https://prnt.sc/gsm5yf

我想为此类别设置2个活动类 任何人都可以帮助我。

1 个答案:

答案 0 :(得分:2)

通过使用带有自定义类别步行器的wp_list_categories(如果您对输出有特殊要求),您可以更轻松,更轻松地使用WordPress。

话虽如此,如果您在分类页面上,您应该能够使用get_queried_object()来获取当前活动的术语。完成后,您可以比较您当前正在处理的元素。 e.g。

$current_term = is_tax ? get_queried_object() : null;

并在你的循环中添加

$classactive = ""; if($current_term != null && $current_term->term_taxonomy_id == $cat->term_taxonomy_id) { $classactive = "active"; }

然后你应该能够将你的输出改为

<li class="$classactive"><a href="<?php echo esc_url(get_category_link($cat->term_id)); ?>"><?php echo $cat->name; ?></a></li>

它将是

<li class=""><a....>First Category</a></li> <li class="active"><a....>Second Category</a></li> <li class=""><a....>Third Category</a></li>