我有两个菜单,在Wordpress Twenty Fourteen中安装了默认插件:
我有两个模板使用不同的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>
我想定位 - 菜单英语 -
我不知道要添加什么。
答案 0 :(得分: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()
})
答案 1 :(得分:0)
添加
<?php wp_nav_menu( array('menu' => 'Project Nav' )); ?>
请参阅wordpress:http://codex.wordpress.org/Function_Reference/wp_nav_menu
答案 2 :(得分:0)
以wordpress中的特定菜单为目标,例如header.php,创建菜单并复制名称,然后粘贴“项目名称”
wp_nav_menu( array(
'menu' => 'Project Nav'
) );
答案 3 :(得分:0)
谢谢。几年后,正是我所需要的