以下代码输出一个菜单,但容器<nav>
缺少标记。
$menu_settings = array(
\'menu\' => \'Packages\',
\'container\' => \'nav\',
\'container_class\' => \'\',
\'container_id\' => \'\',
\'menu_class\' => \'menu\',
\'menu_id\' => \'\',
\'echo\' => true,
\'fallback_cb\' => \'wp_page_menu\',
\'before\' => \'\',
\'after\' => \'\',
\'link_before\' => \'\',
\'link_after\' => \'\',
\'items_wrap\' => \'<ul id="%1$s" class="%2$s">%3$s</ul>\',
\'depth\' => 0,
\'walker\' => \'\',
\'theme_location\' => \'primary\' );
?>
<?php wp_nav_menu( $menu_settings ); ?>
这些是在函数中注册的。php:
register_nav_menus( array(
\'primary\' => __( \'Packages Menu\', \'nameoftheme\'),
\'secondary\' => __( \'Services Menu\', \'nameoftheme\' ),
) );
仅a
<ul>
使用列表项进行渲染。列表项也未包装。
最合适的回答,由SO网友:codecowboy 整理而成
由于我使用的是根主题框架,this line 删除容器参数:
function roots_nav_menu_args($args = \'\') {
$roots_nav_menu_args = array();
$roots_nav_menu_args[\'container\'] = false;
if (!$args[\'items_wrap\']) {
$roots_nav_menu_args[\'items_wrap\'] = \'<ul class="%2$s">%3$s</ul>\';
}
if (!$args[\'depth\']) {
$roots_nav_menu_args[\'depth\'] = 2;
}
return array_merge($args, $roots_nav_menu_args);
}
add_filter(\'wp_nav_menu_args\', \'roots_nav_menu_args\');