WordPress根据URL加载不同的菜单


wordpress load different menu based on url

我昨天买了一个基本的WPML插件,但我仍然对我需要根据URL显示的不同菜单有问题,所以,假设我的主要菜单名称是"主要",第二个是"次要的",我在页面顶部放了一个条件。当 url 包含 "/en/" 时,必须加载 "secundary" 菜单,否则必须加载 "primary"。

似乎以下逻辑

$host = $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];  
if (preg_match('/'/en'//',$host))
{
    wp_nav_menu(array('menu' => 'secundary'));  
} else {
    wp_nav_menu(array('menu' => 'primary')); 
}

它不起作用。也许wp_nav_menu()有一些我不知道的东西。

你能帮我理解吗?

只需检查 $_SERVER 数组的 REQUEST URI 部分

<?php 
if (stripos($_SERVER['REQUEST_URI'], '/en/') !== false) {
//Set second menu here
} else {
//Use primary`
}

但是您还必须注册WP的菜单:https://codex.wordpress.org/Navigation_Menus