我正在尝试从wp_nav_menu()函数中删除包装器。
我已通过container =>对于arguements数组是假的,并在我的functions.php中添加了一个钩子,但它仍然显示了包装器。
function my_wp_nav_menu_args( $args )
{
$args['menu'] = false;
$args['menu_class'] = false;
$args['container'] = false;
$args['container_class'] = false;
$args['show_home'] = true;
return $args;
}
任何想法为什么?
答案 0 :(得分:4)
阅读codex:Function Reference/wp nav menu
您可能需要在functions.php文件中设置主题位置,然后将菜单分配给它?
这就是在codex中所说的:
为了删除导航容器,指定了主题位置 functions.php并在函数wp_nav_menu中的参数中使用(例如。 'theme_location'=> 'primary-menu')必须分配一个菜单 在管理! Othervise参数'container'=> '假'是 忽略。
如果您需要注册位置,可以使用以下内容:
// This theme uses wp_nav_menu() in one location.
register_nav_menus( array(
'primary' => __( 'Primary Navigation', 'Your_Theme' ),
) );
然后在wp_nav_menu()
函数
wp_nav_menu( array( 'theme_location' => 'primary', 'container' => false ) );
希望这有帮助!
答案 1 :(得分:0)
我认为此参数无法使用布尔数据类型,请阅读此Function Reference/wp nav menu
因此,删除此div包装器的最佳方法是将其替换为ul,例如以下示例
wp_nav_menu( array(
'menu' => 'header-nav_menu',
'theme_location' => 'header-nav_menu',
'container' => 'ul', //To replace div wrapper with ul
'menu_class' => 'YOUR CLASS'//Add classes to your ul
)
);
答案 2 :(得分:0)
wp_nav_menu(array(
'container' => '',
'items_wrap' => '<ul id="%1$s" class="%2$s">%3$s</ul>',
'theme_location' => 'footer-1',
));
现有菜单必须与您的位置相关联(在我的示例中为“ footer-1”),否则,始终会有一个div包装器。
答案 3 :(得分:0)
我已将null传递给容器,并且菜单未包装在div标签中。
wp_nav_menu(
array('menu' => 'Bočni',
'container' => null
)
);