WordPress自定义主题-在footer.php中调用时菜单不显示

我正在尝试为Wordpress创建自定义网站主题, 但遇到了一些问题。我在网站的页眉和页脚部分使用两个完全相同的菜单。
呼唤

wp_nav_menu(array('theme_location' => 'header'));

在header.php中效果很好, 菜单可以毫无问题地打印出来, 但是如果我在footer.php文件中执行同样的操作, 菜单也不会打印并且var_dump(wp_nav_menu(array(‘ theme_location’ => ’ header’ ) )); 打印错误。
我尝试了一些在Google上发现的变通方法, 修改了functions.php文件, 但没有一个方法可以帮助我解决该问题。我的functions.php文件现在仅包含一行
register_nav_menus( array( 'header' => 'Header menu', 'footer' => 'Footer menu' ) );

是的, 我尝试使用
wp_nav_menu(array('theme_location' => 'footer'))

同样, 结果也一样。如果我从header.php调用相同的函数
wp_nav_menu(array('theme_location' => 'footer'))

菜单很好。
#1 你已经正确注册了两个导航菜单。我总是在最初的主题设置挂钩中执行此操作, 该挂钩被关联到after_setup_theme挂钩。因此, 我将在你的functions.php中执行以下操作:
function pietergoosen_theme_setup() { register_nav_menus( array( 'header' => 'Header menu', 'footer' => 'Footer menu' ) ); }add_action( 'after_setup_theme', 'pietergoosen_theme_setup' );

请记住, 你不必这样做。以下也适用
register_nav_menus( array( 'header' => 'Header menu', 'footer' => 'Footer menu' ) );

现在, 你应该在后端的” 外观> 菜单> 管理位置” 下看到两个菜单(仅当存在菜单时)
WordPress自定义主题-在footer.php中调用时菜单不显示

文章图片
为了使用页脚菜单, 请在需要显示菜单的页脚中添加以下代码:
< nav id="footer-navigation" class="site-navigation footer-navigation" role="navigation"> < ?php wp_nav_menu( array( 'theme_location' => 'footer', 'menu_class' => 'nav-menu', 'fallback_cb' => false ) ); ?> < /nav>

【WordPress自定义主题-在footer.php中调用时菜单不显示】在此阶段, 什么都不会显示, 我认为这也是你遇到的问题。原因是没有分配给菜单的任何项目, 并且如果没有分配给菜单的内容, 则不会显示任何内容。因此, 我们必须插入要显示的内容。
在后端中, 转到” 外观> 菜单> 编辑菜单” 。在” 菜单名称” 字段中, 输入菜单名称, 然后单击” 创建菜单” 。现在, 你将能够在菜单屏幕中添加菜单。
WordPress自定义主题-在footer.php中调用时菜单不显示

文章图片
现在, 你可以从左侧选择要插入菜单的项目。你也可以在页脚中设置菜单的位置。我选择在页脚中显示类别。完成后单击” 保存菜单” 。
WordPress自定义主题-在footer.php中调用时菜单不显示

文章图片
现在, 你应该在前端看到导航菜单。
WordPress自定义主题-在footer.php中调用时菜单不显示

文章图片
你只需要立即在导航栏中添加样式即可。你将对标题导航菜单执行完全相同的操作, 接受将调用添加到header.php中的菜单。希望对你有用。

    推荐阅读