Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Wordpress 4.0-断开的菜单_Php_Wordpress_Wordpress Theming - Fatal编程技术网

Php Wordpress 4.0-断开的菜单

Php Wordpress 4.0-断开的菜单,php,wordpress,wordpress-theming,Php,Wordpress,Wordpress Theming,让自定义菜单在Wordpress 4.0中正常工作时遇到问题。似乎以前工作过的东西已经不存在了,我发现自己无法完成一个我一直在做的自定义主题。在这个主题中,我应该使用三个自定义菜单,它们都出现在同一个页面上(作为页眉、主菜单和页脚菜单)。我的代码如下: 在functions.php上,我有以下内容: /*********************************************************************** ** Register

让自定义菜单在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',
) );
<?php wp_nav_menu( array('menu' => 'top_menu')); ?>
<?php wp_nav_menu( array('menu' => 'main_menu')); ?>
<?php wp_nav_menu( array('menu' => 'footer_menu')); ?>
然而,为了调用header.php和footer.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',
) );
<?php wp_nav_menu( array('menu' => 'top_menu')); ?>
<?php wp_nav_menu( array('menu' => 'main_menu')); ?>
<?php wp_nav_menu( array('menu' => 'footer_menu')); ?>

在WordPress4.0出现之前,这项功能运行得非常好。现在它就是不起作用了。我可以在管理面板中查看菜单,并为每个位置设置自定义菜单,但当我打开主题时,我在所有三个位置都会看到相同的菜单,即使我的后端状态是每个菜单的设置不同。这毫无意义,我觉得它好像坏了

此外,我尝试通过将菜单调用更改为:

<?php wp_nav_menu( array('menu' => 'top_menu', 'theme_location' => '__no_such_location', 'fallback_cb' => false)); ?>

从而消除菜单中的所有回退。结果如何?不打印任何菜单

我看到了一个所谓的“修复”,即在管理员的菜单名前加上AAA,但我不能真正告诉客户为他们的自定义主题这样做,即使这样,这只是一个黑客试图通过将菜单设置为绝对第一个菜单来绕过WP菜单不起作用的问题,我担心它无论如何对我来说都不起作用,因为我需要在同一主题上显示三个不同的菜单

我是不是遗漏了什么?自从我开始使用WP以来,我一直在做错事,还是WP4.0真的把菜单搞砸了?有没有办法解决这个问题,因为AAA黑客甚至不能满足我的需要?


<?php
wp_nav_menu( array(
  'theme_location' => 'top_menu'
) );
?>
当您注册导航菜单时,您将主题位置设置为
top\u menu
main\u menu
,等等,这就是您需要传递到
wp\u nav\u menu
的位置。使用通过
register\u nav\u menu
注册的菜单,可以完全省略
wp\u nav\u menu
菜单
参数