我使用bootstrap3和wordpress 3.6,但升级到3.7功能wp\\U nav\\U菜单无法正常工作。
我使用3.6
<nav class="navbar navbar-inverse">
<?php wp_nav_menu(
array(
\'container\' => false,
\'items_wrap\' => \'<ul class="nav navbar-nav">%3$s</ul>\',
\'theme_location\' => \'menu_principal\'
)); ?>
</nav>
但该代码在3.7中没有工作,没有添加ul类nav navbar nav。为什么?谢谢
<nav class="navbar navbar-inverse">
<div class="menu">
<ul>
<li class="page_item page-item-7"><a href="http://localhost:8888/wordpress2/?page_id=7">Blog</a></li>
<li class="page_item page-item-9"><a href="http://localhost:8888/wordpress2/?page_id=9">contacto</a></li>
</ul>
</div>
</nav>
不加ul类为什么?
最合适的回答,由SO网友:Chip Bennett 整理而成
编辑在这种情况下,问题似乎是您实际上根本没有输出自定义导航菜单,而是menu fallback: wp_page_menu()
. 请注意,列表项的类是page-item
而不是menu-item
. 这是一个肯定的赠品,输出是由wp_page_menu()
而不是wp_nav_menu()
.
Solution: 确保已创建自定义导航菜单,并将其分配给menu_principal
主题位置。
原始答案
长答案,短答案:您正在使用正确的方法修改
menu_class
, 在这个过程中,可能会踩到c
hanges that were made to wp_nav_menu()
between WordPress 3.6 and 3.7.
而不是捣乱items_wrap
, 你需要操纵menu_class
, 哪个是定义应用于菜单元素输出的类的正确参数wp_nav_menu()
:
$menu_class
(字符串)(可选)应用于ul
包含菜单项的元素。多个类可以用空格分隔。以前称为$wrap_class
.
默认值:menu
尝试以下操作:
<?php wp_nav_menu( array(
\'container\' => false,
\'menu_class\' => \'nav navbar-nav\',
\'theme_location\' => \'menu_principal\'
) ); ?>