我用挪威语menu_no
创建了一个菜单,用英语menu_en
创建了一个菜单。
我可以看到我的主题只支持一个菜单,但我不打算一次使用多个菜单。因此,当用户选择英语时,如何更改活动菜单?
我在Google上找不到任何内容,但我在nav-menu.php
找不到合适的功能。
更新
我找到了一个解决我问题的简单方法。我只是想有点不同。在我的functions.php
中,我添加了以下代码:
add_action('init', 'register_menus');
function register_menus(){
register_nav_menus( array(
'menu_no' => 'Norwegian menu',
'menu_en' => 'English menu',
) );
}
在我的header.php
文件中我使用此代码:
global $lang;
$args = array(
'theme_location' => 'menu_'.$lang,
'container' => false
);
<?php wp_nav_menu($args); ?>
瞧。我会稍后将其发布为答案 - 如果没有其他人提出更好的想法。
答案 0 :(得分:0)
以下是如何做到这一点。
将此代码发送到function.php文件
// Register Navigation Menus
function custom_navigation_menus() {
$locations = array(
'first_menu' => __( 'Menu for English language', 'text_domain' ),
'second_menu' => __( 'Menu for Other Language', 'text_domain' ),
);
register_nav_menus( $locations );
}
// Hook into the 'init' action
add_action( 'init', 'custom_navigation_menus' );
您可以自定义上述代码。 现在使用wp_nav_menu函数显示你想要的任何地方
<?php
wp_nav_menu( array(
'menu' => 'primary',
'theme_location' => 'first_menu',
);
?>
<?php
wp_nav_menu( array(
'menu' => 'secondary',
'theme_location' => 'second_menu',
);
?>
您可以在不同的地方显示每个菜单。现在,您可以在菜单中选择主要和辅助