2

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

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

当我在分类页面时,wp_nav_menu函数回退到fallback函数,说明菜单不存在?!

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

<?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;
}
?>

在这一点上我真的很沮丧。有任何想法吗?

4

1 回答 1

0

我看不到您在哪里为 赋值$master_page,所以此时它只是一个空变量。

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

<?php 
if( is_page( 'about' ) ) {
    wp_nav_menu(array(
       'menu'  => 'about',
       'fallback_cb' => 'get_cat',
    ));
} else {
    ...
}
?>
于 2014-03-15T01:59:47.330 回答