我只是注意到一些我以前从没见过的奇怪的东西。我正在使用WP 3.6.1进行一个项目。这个项目有两个不同的菜单(实际上是三个,但这并不重要)。我通过wp_nav_menu
作用
我已经做过很多次了。。。但今天不同了。今天它不起作用了:(
我的PHP代码,放在标题中。php,如下所示:
<nav id="nav-menu-container">
<div id="main-menu" class="main-menu menu clearfix">
<?php wp_nav_menu(\'header_main\'); ?>
</div>
<div id="secondary-menu" class="secondary-menu menu clearfix">
<?php wp_nav_menu(\'header_secondary\'); ?>
</div>
</nav>
菜单项在中声明
functions.php
并且通过仪表板配置了两个不同的菜单,以显示在每个位置。
if (function_exists(\'register_nav_menus\')){
register_nav_menu(\'header_main\', \'Menú principal\' );
register_nav_menu(\'header_secondary\', \'Menú secundario\' );
}
但第一个菜单仍在这两个位置打印。正如我上面所说,使用两种不同的菜单是我过去做过的事情,但今天我看不到错误。。。还有一个错误,因为它不工作:S
有什么想法吗?
最合适的回答,由SO网友:Chip Bennett 整理而成
你没打电话wp_nav_menu()
正确地
您需要向其传递一个args数组,并声明theme_location
钥匙
我假设,由于传递的是字符串而不是数组,wp_nav_menu()
无法识别该参数,正在返回其默认输出:
与菜单参数给定的ID、slug或名称相匹配的菜单,如果该菜单至少有1项否则,第一个非空菜单否则,由fallback\\u cb参数(默认情况下为wp\\u page\\u menu())给出的函数输出否则什么都没有您将在两个位置看到第一个非空菜单输出。
请尝试以下操作:
wp_nav_menu( array(
\'theme_location\' => \'header_main\'
) ):
以及
wp_nav_menu( array(
\'theme_location\' => \'header_secondary\'
) ):