如何在 WordPress 中调用 header.php 中的不同菜单
How to call different menus in header.php in WordPress
我想为不同的模板显示不同的菜单。例如,如果用户在任何页面我想显示一个菜单,如果用户在 post 类别我想显示另一个菜单,如果用户在 single.php 页面我想显示另一个菜单。怎么做 ?
我知道如何在主题中创建多个 header(这些 header 显示不同的菜单)并在不同的模板中调用这些 header。但是我想简单地做这件事,尽管我的 header.php 本身有 if else 语句。怎么做?
我的 header.php 菜单代码是 -
<div id="navbar" class="navbar-collapse collapse">
<?php
wp_nav_menu( array(
'menu' => 'primary',
'theme_location' => 'header-menu',
'depth' => 2,
'container' => 'div',
'container_class' => '',
'container_id' => '',
'menu_class' => 'nav navbar-nav',
'fallback_cb' => 'wp_bootstrap_navwalker::fallback',
'walker' => new wp_bootstrap_navwalker())
);
?>
</div>
我想在 header.php 本身做一个 if else 语句,比如 -
<div id="navbar" class="navbar-collapse collapse">
if(template is page)
{
//menu code 1
}
else (template is category)
{
//menu code 2
}
</div>
请帮忙?
您可以尝试一些功能,让您知道您正在使用什么模板,因为您希望有条件地使用它 is_page_template
https://developer.wordpress.org/reference/functions/is_page_template/ 可能是最适合您的功能。如果正在使用某个模板,您可以使用它来显示相关菜单。不要忘记最后的一般 else 条件以显示默认菜单:)
我想为不同的模板显示不同的菜单。例如,如果用户在任何页面我想显示一个菜单,如果用户在 post 类别我想显示另一个菜单,如果用户在 single.php 页面我想显示另一个菜单。怎么做 ?
我知道如何在主题中创建多个 header(这些 header 显示不同的菜单)并在不同的模板中调用这些 header。但是我想简单地做这件事,尽管我的 header.php 本身有 if else 语句。怎么做?
我的 header.php 菜单代码是 -
<div id="navbar" class="navbar-collapse collapse">
<?php
wp_nav_menu( array(
'menu' => 'primary',
'theme_location' => 'header-menu',
'depth' => 2,
'container' => 'div',
'container_class' => '',
'container_id' => '',
'menu_class' => 'nav navbar-nav',
'fallback_cb' => 'wp_bootstrap_navwalker::fallback',
'walker' => new wp_bootstrap_navwalker())
);
?>
</div>
我想在 header.php 本身做一个 if else 语句,比如 -
<div id="navbar" class="navbar-collapse collapse">
if(template is page)
{
//menu code 1
}
else (template is category)
{
//menu code 2
}
</div>
请帮忙?
您可以尝试一些功能,让您知道您正在使用什么模板,因为您希望有条件地使用它 is_page_template
https://developer.wordpress.org/reference/functions/is_page_template/ 可能是最适合您的功能。如果正在使用某个模板,您可以使用它来显示相关菜单。不要忘记最后的一般 else 条件以显示默认菜单:)