wp_nav_menu
云策文档标注
概述
wp_nav_menu 是一个 WordPress 过滤器,用于修改导航菜单的 HTML 输出内容。它允许开发者在菜单渲染前自定义其结构和样式。
关键要点
- 过滤器名称:wp_nav_menu,用于过滤导航菜单的 HTML 内容。
- 参数:$nav_menu(菜单 HTML 字符串)和 $args(包含 wp_nav_menu() 参数的对象)。
- 相关函数:与 wp_nav_menu() 函数紧密关联,用于显示导航菜单。
- 引入版本:WordPress 3.0.0。
注意事项
- 参数 $args 包含多个配置项,如 menu、menu_class、container、depth 等,用于控制菜单的显示和行为。
- 使用此过滤器时,需确保正确处理 $nav_menu 和 $args 参数,以避免破坏菜单功能。
原文内容
Filters the HTML content for navigation menus.
Description
See also
Parameters
$nav_menustring-
The HTML content for the navigation menu.
$argsstdClass-
An object containing wp_nav_menu() arguments.
More Arguments from wp_nav_menu( … $args )
Array of nav menu arguments.
menuint|string|WP_TermDesired menu. Accepts a menu ID, slug, name, or object.menu_classstringCSS class to use for the ul element which forms the menu.
Default'menu'.menu_idstringThe ID that is applied to the ul element which forms the menu.
Default is the menu slug, incremented.containerstringWhether to wrap the ul, and what to wrap it with.
Default'div'.container_classstringClass that is applied to the container.
Default ‘menu-{menu slug}-container’.container_idstringThe ID that is applied to the container.container_aria_labelstringThe aria-label attribute that is applied to the container when it’s a nav element.fallback_cbcallable|falseIf the menu doesn’t exist, a callback function will fire.
Default is'wp_page_menu'. Set to false for no fallback.beforestringText before the link markup.afterstringText after the link markup.link_beforestringText before the link text.link_afterstringText after the link text.echoboolWhether to echo the menu or return it. Default true.depthintHow many levels of the hierarchy are to be included.
0 means all. Default 0.
Default 0.walkerobjectInstance of a custom walker class.theme_locationstringTheme location to be used. Must be registered with register_nav_menu() in order to be selectable by the user.items_wrapstringHow the list items should be wrapped. Uses printf() format with numbered placeholders. Default is a ul with an id and class.item_spacingstringWhether to preserve whitespace within the menu’s HTML.
Accepts'preserve'or'discard'. Default'preserve'.
Source
$nav_menu = apply_filters( 'wp_nav_menu', $nav_menu, $args );
Changelog
| Version | Description |
|---|---|
| 3.0.0 | Introduced. |