簡體   English   中英

Wordpress:在 Header.php 中選擇菜單

[英]Wordpress : Choose menu in Header.php

我在 Wordpress 24 中安裝了兩個帶有默認插件的菜單:

  • 菜單法語
  • 菜單英文

我有兩個模板使用不同的 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>

我要定位 - 菜單英文 -

我不知道要添加什么才能這樣做。

添加

<?php wp_nav_menu( array('menu' => 'Project Nav' )); ?>

見wordpress: http : //codex.wordpress.org/Function_Reference/wp_nav_menu

您將在 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()
})

以 wordpress 中的特定菜單為目標,例如在 header.php 中,創建一個菜單並復制名稱並粘貼到“項目名稱”中

wp_nav_menu( array(
    'menu' => 'Project Nav'
) );

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM