每页加载不同的菜单

时间:2014-03-27 14:58:47

标签: wordpress menu

我正在尝试加载特定于位置页面的wordpress菜单。有人将我的问题从Wordpress.stackexchange中删除,因为他们说这是特定于PHP的。

<?php if(is_page(array('12038', '11763', '12042')) {
$locationMenu = 'Jackson';
} elseif(is_page(array('12220', '12223', '12226', '592')) {
$locationMenu = 'Hattiesburg';
} else {
$locationMenu = 'Top Menu';
}
?>
<?php
        wp_nav_menu( array(
            'menu'              => '$locationMenu',
            'theme_location'    => 'top',
            'depth'             => 3,
            'container'         => 'div',
            'container_class'   => 'collapse navbar-collapse',
            'container_id'      => 'navigation',
            'menu_class'        => 'nav navbar-nav',
            'fallback_cb'       => 'wp_bootstrap_navwalker::fallback',
            'walker'            => new wp_bootstrap_navwalker())
        );
?>

2 个答案:

答案 0 :(得分:0)

您传递给$locationMenu的数组中的引号中有wp_nav_menu(),这意味着您传递的是包含文本“$ locationMenu”的字符串。

删除引号,将传递变量的值。

答案 1 :(得分:0)

删除变量的单引号($ locationMenu)并尝试

<?php if(is_page(array('12038', '11763', '12042')) {
$locationMenu = 'Jackson';
} elseif(is_page(array('12220', '12223', '12226', '592')) {
$locationMenu = 'Hattiesburg';
} else {
$locationMenu = 'Top Menu';
}
?>
<?php
        wp_nav_menu( array(
            'menu'              => $locationMenu,
            'theme_location'    => 'top',
            'depth'             => 3,
            'container'         => 'div',
            'container_class'   => 'collapse navbar-collapse',
            'container_id'      => 'navigation',
            'menu_class'        => 'nav navbar-nav',
            'fallback_cb'       => 'wp_bootstrap_navwalker::fallback',
            'walker'            => new wp_bootstrap_navwalker())
        );
?>