【发布时间】:2014-11-10 18:30:38
【问题描述】:
我在让自定义菜单在 Wordpress 4.0 中正常工作时遇到问题。似乎以前的任何工作都不再有效,而且我发现自己无法完成我一直在研究的自定义主题。在这个主题中,我应该使用三个自定义菜单,它们都出现在同一页面上(作为页眉、主菜单和页脚菜单)。我的代码如下:
在functions.php上我有这个:
/***********************************************************************
** Registering the menus used on site **
***********************************************************************/
register_nav_menus( array(
'top_menu' => 'Top header menu.',
'main_menu' => 'Main site menu. Allows dropdowns.',
'footer_menu' => 'Footer menu',
) );
同时,为了调用 header.php 和 footer.php 上的菜单,我有这个:
<?php wp_nav_menu( array('menu' => 'top_menu')); ?>
<?php wp_nav_menu( array('menu' => 'main_menu')); ?>
<?php wp_nav_menu( array('menu' => 'footer_menu')); ?>
在 wordpress 4.0 出现之前,这非常有效。现在它只是行不通。我可以在管理面板中看到菜单并为每个位置设置自定义菜单,但是当我打开主题时,我在所有三个地方都得到相同的菜单,即使我的后端状态每个菜单的设置都不同。这没有意义,在我看来它似乎被打破了。
此外,我尝试通过将菜单调用更改为:
<?php wp_nav_menu( array('menu' => 'top_menu', 'theme_location' => '__no_such_location', 'fallback_cb' => false)); ?>
因此消除了菜单中的所有后备。结果?没有打印任何菜单。
我已经看到了一个所谓的“修复”,包括在管理员的菜单名称之前放置一个 AAA,但我不能真正告诉客户为他们的自定义主题这样做,即使那样,这也只是一个试图通过将菜单设置为绝对第一个菜单来解决 WP 菜单不起作用的问题,我担心它对我无论如何都不起作用,因为我需要在同一主题上显示三个不同的菜单。
我在这里遗漏了什么吗?自从我开始使用 WP 以来,我一直做错了吗,还是 WP4.0 真的把菜单弄乱了?有没有办法解决这个问题,因为 AAA 黑客甚至无法满足我的需要?
【问题讨论】:
标签: php wordpress wordpress-theming