gpt4 book ai didi

php - 如何以编程方式更改 Wordpress 中的菜单?

转载 作者:搜寻专家 更新时间:2023-10-31 22:02:27 24 4
gpt4 key购买 nike

我创建了一个挪威语 menu_no 菜单和一个英语 menu_en 菜单。

enter image description here

我可以看到我的主题只支持一个菜单,但我不打算一次使用多个菜单。那么当用户选择英语时,如何更改事件菜单?

我在 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); ?>

瞧。我稍后会将其作为答案发布 - 如果没有其他人提出更好的主意。

最佳答案

这里是你如何做到这一点。

将此代码粘贴到 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',
);

?>

您可以在不同的地方显示每个菜单。现在您可以在菜单中选择 Primary 和 Secondary

关于php - 如何以编程方式更改 Wordpress 中的菜单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26056603/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com