如何在WordPress

时间:2016-06-08 15:40:45

标签: wordpress wordpress-theming

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

我知道在主题中创建多个标题(并且这些标题显示不同的菜单)并在不同的模板中调用这些标题。但我想这样做只是因为我的header.php本身是否有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>

请帮帮忙?

1 个答案:

答案 0 :(得分:0)

您可以尝试使用一些功能让您知道正在使用的模板,因为您希望有条件地执行此操作is_page_template https://developer.wordpress.org/reference/functions/is_page_template/可能是最适合您的模板。然后,如果正在使用某个模板,您可以使用它来显示相关菜单。不要忘记最后的一般其他条件来显示默认菜单:)