2015-03-03 4 views
0

У меня есть два меню с плагин по умолчанию установлен в Wordpress Двадцать Четырнадцать:Wordpress: Выберите меню в header.php

  • меню французского
  • меню Английского

У меня есть два шаблона с использованием различные header.php в зависимости от языка.

Я хочу настроить header.php, чтобы выбрать, какое меню использовать.

В header.php есть следующий код:

<nav id="primary-navigation" class="site-navigation primary-navigation" 
                    role="navigation"> 
    <button class="menu-toggle"> 
     <?php _e('Primary Menu', 'twentyfourteen'); ?> 
    </button> 
    <a class="screen-reader-text skip-link" href="#content"> 
     <?php _e('Skip to content', 'twentyfourteen'); ?> 
    </a> 
    <?php wp_nav_menu(array('theme_location'=>'primary','menu_class'=>'nav-menu'));?> 
</nav> 

Я хочу цель - Меню английский -

Я не знаю, что добавить к этому.

ответ

1

Вы бы использовать следующий код в PHP.

<?php 

    $args_en = array(
     'theme_location' => 'English Menu', 
     'menu_class'  => 'menu', 
     'menu_id'   => 'en_menu' 
    ); 

    $args_fr = array(
     'theme_location' => 'French Menu', 
     'menu_class'  => 'menu', 
     'menu_id'   => 'fr_menu' 
    ); 

?> 

<nav id="primary-navigation" class="site-navigation primary-navigation" role="navigation"> 
    <button id="switch_menu" class="menu-toggle"> 
     <?php _e('Primary Menu', 'twentyfourteen'); ?> 
    </button> 
    <a class="screen-reader-text skip-link" href="#content"> 
     <?php _e('Skip to content', 'twentyfourteen'); ?> 
    </a> 

    <?php wp_nav_menu($args_en);?> 
    <?php wp_nav_menu($args_fr);?> 

</nav> 

<?php wp_nav_menu($args_en);?> будет отображать меню на английском языке.

<?php wp_nav_menu($args_fr);?> будет отображать французское меню.

конечно начиная с $ arg_en содержит 'theme_location' => 'english_menu' вы зарегистрировать меню в файле functions.php следующим образом:

add_action('init','My_Menus'); 
function My_Menus(){ 
    register_nav_menus(
     array(
      'English Menu' => __('My English Menu'), 
      'French Menu' => __('My French Menu'), 
     ) 
    ); 
}; 

Затем с помощью Javascript вы можете установить меню по умолчанию, чтобы показать. Другой будет скрыт.

если вы используете JQuery это код, который нужно использовать:

var fr_menu = $('#fr_menu'), en_menu = $('#en_menu'); 
en_menu.toggle(true); //shows english menu by default 
fr_menu.toggle(false); //hides english menu by default 

$('#switch_menu').on('click',function(){ 
    en_menu.toggle() 
    fr_menu.toggle() 
}) 
Смежные вопросы