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

如何在WordPress中为wp_nav_menu生成的<li>标签添加自定义类

你可以通过WordPress内置的nav_menu_css_class过滤器实现需求,该方案不会覆盖WordPress自动生成的原有类名,仅额外追加你指定的自定义类。

操作步骤

  1. 将以下代码添加到你当前主题的functions.php文件中:
// 为头部导航菜单的li元素追加自定义类
function custom_nav_menu_item_class( $classes, $item, $args ) {
    // 仅对指定位置的头部导航生效,避免影响其他菜单
    if ( $args->theme_location === 'header' ) {
        $classes[] = 'navbar__nav-item';
    }
    return $classes;
}
add_filter( 'nav_menu_css_class', 'custom_nav_menu_item_class', 10, 3 );
  1. 你原有的wp_nav_menu调用代码无需做任何修改,保存后刷新页面即可看到效果。

原理说明

  • nav_menu_css_class是WordPress专门用于过滤导航菜单
  • 标签CSS类的钩子
  • 传入的$classes数组默认包含WordPress自动生成的所有原生类(比如当前页激活类、菜单层级类等),你只需将自定义类追加到数组中即可,原有类会完整保留
  • 代码中的if判断用于限定仅给theme_location为header的菜单加类,如果你需要给全站所有导航菜单的li都加该类,删除if判断即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 14:39:03