gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 22:12:40 25 4
gpt4 key购买 nike

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

打电话

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'))

菜单效果很好。

最佳答案

您已正确注册了两个导航菜单。我总是在与 after_setup_theme Hook 的初始主题设置 Hook 中执行此操作。钩。所以我会在你的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'
) );

您现在应该在“外观 > 菜单 > 管理位置”下的后端看到两个菜单(仅当菜单存在时)

Screenshot of menus

为了页脚菜单,在需要显示菜单的页脚中添加以下代码:
<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>

在这个阶段,什么都不会显示,我认为这也是你卡住的地方。这样做的原因是没有任何项目分配给菜单,如果没有分配给菜单,则不会显示任何内容。所以我们必须插入一些东西来显示。

在后端,转到“外观 > 菜单 > 编辑菜单”。在“菜单名称”字段中,输入菜单名称,然后单击“创建菜单”。您现在可以在菜单屏幕中添加菜单。

Screenshot of the menu

您现在可以从左侧选择项目以插入到您的菜单中。您还可以设置菜单的位置,在这种情况下是在页脚中。我选择在页脚中显示类别。完成后点击“保存菜单”。

Screenshot of saved menus

您现在应该在前端看到您的导航菜单。

Screenshot of footer menu

您现在只需为导航栏添加样式即可。您将对标题导航菜单执行完全相同的操作,接受您将调用添加到 header.php 中的菜单。我希望你觉得这很有用。

关于Wordpress 自定义主题 - 在 footer.php 中调用时不显示菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22577600/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com