Wordpress:如果帖子在类别显示导航菜单中


Wordpress: if post is in category display nav menu

如何根据"帖子在哪个类别中"显示不同的导航菜单?

我有两个类别:

  • 地址(链接:www.sitename.com/address/)
  • 信息(链接:www.sitename.com/info/)

我有3个导航菜单:

  • 导航菜单0()(如果"post"不在任何类别中,则应使用此菜单)
  • 导航菜单1()(如果"post"属于类别,则应使用此菜单"地址")
  • 导航菜单2()(如果"post"属于"info"类别,则应使用此菜单)

这是我在标题中使用的代码:

    <nav id="menu" role="navigation">
        <?php if (is_category('info')) {
            navmenu2();
        } else if (is_category('address')) {
            navmenu1();
        } else { 
            navmenu0();
        } ?>
    </nav>

问题是,当我从类别"info"打开帖子时,"if"这些不起作用,它显示"navmenu0();",而不是显示的"navmenu2();"

我认为应该使用in_category()而不是is_category():

if (in_category('info')) {
   navmenu2();
} else if (in_category('address')) {
   navmenu1();
} else { 
   navmenu0();
}

参考:in_category

我发现in_category要能够使用类别名称,它的slug必须相同。