【问题标题】:How to call different menus in header.php in WordPress如何在 WordPress 的 header.php 中调用不同的菜单
【发布时间】:2016-06-08 23:50:19
【问题描述】:

我想为不同的模板显示不同的菜单。例如,如果用户在任何页面中我想显示一个菜单,如果用户在帖子类别中我想显示另一个菜单,如果用户在 single.php 页面中我想显示另一个菜单。怎么做 ?

我知道在主题中创建多个标题(并且这些标题显示不同的菜单)并在不同的模板中调用这些标题。但是我想简单地做到这一点,尽管我的 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>

请帮忙?

【问题讨论】:

    标签: wordpress wordpress-theming


    【解决方案1】:

    您可以尝试一些功能,让您知道您正在使用什么模板,因为您想有条件地这样做is_page_template https://developer.wordpress.org/reference/functions/is_page_template/ 可能是最适合您的一个。如果正在使用某个模板,您可以使用它来显示相关菜单。不要忘记最后显示默认菜单的一般 else 条件:)

    【讨论】:

    • 我检查它不工作。我将此代码放在我的 header.php 文件中,并且每次显示 b。我的代码 -
    • 感谢您的帮助我解决了它。在这里使用 is_page() 可以解决问题。
    • 你不能只使用 is_page_template() 你需要给它一些值:) 然后它会工作。所有 is_page() 都会告诉您您正在使用的页面不是正在使用的模板。但如果这已经成功了,那就太酷了。
    • is_single() 也可以告诉你它是否只是一个帖子。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-14
    • 2022-06-22
    • 1970-01-01
    • 2015-02-22
    • 2018-11-20
    • 2015-02-26
    • 1970-01-01
    相关资源
    最近更新 更多