Wordpress 4.0 - 破碎的菜单

时间:2014-11-10 18:30:39

标签: php wordpress wordpress-theming

我在自定义菜单在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上调用menues,我有这个:

<?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黑客甚至不能满足我的需求?

1 个答案:

答案 0 :(得分:1)

<?php
wp_nav_menu( array(
  'theme_location' => 'top_menu'
) );
?>

当您注册导航菜单时,您将主题位置设置为top_menumain_menu等,以及您需要传递给{的所需内容{1}} - 位置。使用通过wp_nav_menu注册的菜单,您可以完全省略register_nav_menus的{​​{1}}参数。

相关问题