过滤时wp_nav_menu
, 您可以将nav菜单参数作为第二个参数$args
. 这是一个对象(astdClass
), 由WordPress设置,同时确定要使用哪个菜单,条目名为menu
. 这是整个导航菜单对象。其标题在条目中name
.
这里有一个技巧:您可以将自定义参数传递给wp_nav_menu()
.
假设你在打电话wp_nav_menu()
像这样:
wp_nav_menu(
[
\'theme_location\' => \'secondary\',
\'container\' => \'div\',
\'container_class\' => \'submenu-container sub-menu clearfix\',
\'menu_class\' => \'ipf-sectionmenu\',
\'heading\' => \'<h3 id="left-subheader-mobile" class="purple-header">%s</h3>\',
]
);
现在,在参数中有了标题的HTML,它与挂钩上的实际菜单标题一起可用
wp_nav_menu
. 你所要做的就是把它结合起来。
非常简单,只需将此添加到functions.php
:
add_filter( \'wp_nav_menu\', function( $nav_menu, $args ) {
if ( empty ( $args->heading ) )
return $nav_menu;
$title = esc_html( $args->menu->name );
$heading = sprintf( $args->heading, $title );
return $heading . $nav_menu;
}, 10, 2 );