我想只在front-page.php(这是我的主页)上显示我的主菜单,并在除我的主页之外的所有其他页面上显示辅助菜单。
我在我的functions.php中注册了主菜单和辅助菜单,如下所示:
register_nav_menus( array(
'primary' => __( 'Primary Menu', 'nwd' ),
'secondary' => __( 'Secondary Menu', 'nwd'),
) );
我正在我的header.php中加载我的主菜单(我在菜单中使用wp_navwalker):
<div class=""> <!-- Menu -->
<nav class="main-menu navbar-inverse col-md-offset-2 col-md-6" role="banner">
<div class="navbar-header">
<button class="navbar-toggle" type="button" data-toggle="collapse" data-target=".bs-navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<?php
wp_nav_menu( array(
'menu' => 'primary',
'theme_location' => 'primary',
'depth' => 1,
'container' => 'nav',
'container_class' => 'navbar-collapse bs-navbar-collapse collapse',
'container_id' => 'bs-example-navbar-collapse-1',
'menu_class' => 'nav navbar-nav no-gutter cl-effect-4',
'fallback_cb' => 'wp_bootstrap_navwalker::fallback',
'walker' => new wp_bootstrap_navwalker())
);
?>
</nav>
</div> <!-- End menu -->
我尝试过使用WordPress论坛中的9.4 Operations on Collection Objects,但我无法按照自己的意愿行事。
有什么建议吗?
非常感谢所有帮助
答案 0 :(得分:1)
您可以使用is_front_page()
进行检查并提供正确的菜单:
<?php
$menu_slug = is_front_page() ? 'primary' : 'secondary';
wp_nav_menu( array(
'menu' => $menu_slug,
'theme_location' => $menu_slug,
'depth' => 1,
'container' => 'nav',
'container_class' => 'navbar-collapse bs-navbar-collapse collapse',
'container_id' => 'bs-example-navbar-collapse-1',
'menu_class' => 'nav navbar-nav no-gutter cl-effect-4',
'fallback_cb' => 'wp_bootstrap_navwalker::fallback',
'walker' => new wp_bootstrap_navwalker())
);
?>
答案 1 :(得分:0)
在条件陈述if (is_front_page())
的帮助下,我成功地做了我想要的事。
以下是我在header.php中使用的菜单代码。希望这对某人也有帮助:
<?php
if (is_front_page()){
wp_nav_menu( array(
'menu' => 'primary',
'theme_location' => 'primary',
'depth' => 1,
'container' => 'nav',
'container_class' => 'navbar-collapse bs-navbar-collapse collapse',
'container_id' => 'bs-example-navbar-collapse-1',
'menu_class' => 'nav navbar-nav no-gutter cl-effect-4',
'fallback_cb' => 'wp_bootstrap_navwalker::fallback',
'walker' => new wp_bootstrap_navwalker())
);
} else {
wp_nav_menu( array(
'menu' => 'secondary',
'theme_location' => 'secondary',
'depth' => 1,
'container' => 'nav',
'container_class' => 'navbar-collapse bs-navbar-collapse collapse',
'container_id' => 'bs-example-navbar-collapse-1',
'menu_class' => 'nav navbar-nav no-gutter cl-effect-4',
'fallback_cb' => 'wp_bootstrap_navwalker::fallback',
'walker' => new wp_bootstrap_navwalker())
);
}
?>