我昨天买了一个基本的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