wp_nav_menu没有在wordpress上的类别页面上工作

时间:2013-06-27 07:14:00

标签: wordpress menu

我使用外观菜单在wordpress上创建了几个自定义菜单。

我想根据我正在查看的页面显示正确的菜单。我在header.php文件中编写了下面的脚本似乎工作正常。它正在根据我正在访问的页面拉出正确的菜单,但类别页面除外。

当我在类别页面上时,wp_nav_menu函数会回退到回退函数,表明该菜​​单不存在?!

我环顾四周,不断出现的解决方案是添加以下代码,但它似乎无法正常工作。

<?php
    wp_nav_menu('container_class=menu-header&theme_location=primary'); 
?>

以下是我添加到header.php文件中的完整代码:

<?php
switch( $master_page ) {
    case 'about':
        wp_nav_menu(array(
            'menu'  => 'about',
            'fallback_cb' => 'get_cat',
        )); 
    break;
    case 'offer':
        wp_nav_menu(array(
            'menu'  => 'offer',
            'fallback_cb' => 'get_cat',
        )); 
    break;
}
?>

此刻我真的很沮丧。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我没有看到您为$master_page分配值的位置,所以此时它只是一个空变量。

您需要查看WordPress中的is_page()is_category()函数,并使用if语句而不是switch

<?php 
if( is_page( 'about' ) ) {
    wp_nav_menu(array(
       'menu'  => 'about',
       'fallback_cb' => 'get_cat',
    ));
} else {
    ...
}
?>