2016-06-08 3 views
1

Я хочу показать разные меню для разных шаблонов. Например, если пользователь находится на любой странице, я хочу показать одно меню, если пользователь находится в категории почты, я хочу показать другое меню, если пользователь на странице single.php я хочу показать другое меню. Как это сделать ?Как вызвать разные меню в header.php в WordPress

Я знаю о создании нескольких заголовков (и эти заголовки показывают другое меню) в теме и вызова этих заголовков в разных шаблонах. Но я хочу сделать это просто, но если инструкция else в самом моем header.php. Как это сделать?

Мой 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 как -

<div id="navbar" class="navbar-collapse collapse"> 
    if(template is page) 
    { 
     //menu code 1 
    } 
    else (template is category) 
    { 
     //menu code 2 
    } 
</div> 

Пожалуйста, помогите?

ответ

0

Есть несколько функций, которые вы можете попробовать, чтобы знать, какой шаблон вы используете, поскольку вы хотите сделать это условно. https://developer.wordpress.org/reference/functions/is_page_template/ может быть лучшим для вас. Затем вы можете использовать это, чтобы показать соответствующее меню, если используется определенный шаблон. Не забывайте, что общее состояние в конце показывает меню по умолчанию :)

+0

Я проверил, что он не работает. Я поместил этот код в свой файл header.php и каждый раз, когда он показывает b. Мой код - yogihosting

+0

спасибо за вашу помощь я решил. Использование is_page() будет делать трюк здесь. – yogihosting

+1

Вы не можете просто использовать is_page_template(), вам нужно дать ему несколько значений :), тогда он будет работать. Все is_page() будут делать, это сказать вам, что вы используете страницу, на которой не используется этот шаблон. Но если это сделало трюк, тогда остынь. –

Смежные вопросы