我创建了一个自定义帖子类型,并且还创建了自定义分类并在前端显示,但问题未设置,活动类。
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个活动类 任何人都可以帮助我。
答案 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>