wordpress根据网址加载不同的菜单

时间:2016-02-11 18:26:50

标签: php wordpress

昨天我买了一个基本的WPML插件,但我仍然有一个问题,我需要根据网址显示不同的菜单,所以,假设我的主菜单名称是“主要”,第二个是“secundary” ,我把一个条件放在页面顶部。当网址包含“/ 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()的东西,我不知道。

你能帮我理解吗?

1 个答案:

答案 0 :(得分:0)

只需检查$ _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