You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WordPress开发:如何为激活状态的分类添加active class?

给WordPress分类导航添加激活状态类

要实现当前分类页面的导航项自动添加active类,只需在循环中判断当前页面的分类ID与遍历的分类ID是否匹配,动态生成类名即可。以下是修改后的代码:

<?php
$args = array(
 'orderby' => 'slug',
 'order' => 'ASC',
 'parent' => 0,
 'hide_empty' => false
);
$categories = get_categories( $args );
// 获取当前页面的分类对象,仅在分类归档页有效
$current_category = get_queried_object();
$current_cat_id = is_category() ? $current_category->term_id : 0;

foreach( $categories as $category ){
  // 判断当前遍历的分类是否为页面激活的分类
  $active_class = $category->term_id === $current_cat_id ? 'active' : '';
  // 拼接class属性,保留原有ctg类的同时添加激活类
  $class_str = "ctg {$active_class}";
  // 移除原链接中的多余空格,避免跳转异常
  echo '<li><a class="' . $class_str . '" href="' . get_category_link( $category->term_id ) . '"><p>' . $category->name . '</p></a></li>';
}
?>

关键说明

  • get_queried_object():在WordPress分类归档页中,这个函数会返回当前显示的分类Term对象,通过它可以拿到当前分类的ID
  • is_category():用于判断当前页面是否为分类归档页,避免非分类页时出现错误
  • 动态拼接类名:当分类ID匹配时自动添加active类,不匹配则为空,不影响原有ctg类的功能

内容的提问来源于stack exchange,提问作者shouu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 05:01:35