2015-03-03 64 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() 
})