2014-08-28 84 views
0

如何显示不同的导航菜单基于“在什么类别的职位是”WordPress的:如果发布是在类别显示导航菜单

我有2类:

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

而且我有3个导航菜单:

  • navmenu0();(如果“帖子”不在任何类别中,应该使用此菜单)
  • navmenu1();
  • navmenu2()(如果 “后” 是 类别 “地址” 应该使用这个菜单);(应该使用这个菜单,如果“后”是在类别“信息”)

这是我在报头使用的代码:

<nav id="menu" role="navigation"> 

     <?php if (is_category('info')) { 
      navmenu2(); 
     } else if (is_category('address')) { 
      navmenu1(); 
     } else { 
      navmenu0(); 
     } ?> 

    </nav> 

问题是,当我打开后从类别“信息”,“if”那些不工作,它显示“navmenu0();”,而不是显示“navmenu2();”

回答

0

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

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

参考:in_category

+0

当类别是“地址”时,所有信息都可以正常工作,但不适用于信息.. – 2014-08-28 08:16:22

+0

@生活艺术 - 但是,您尝试过'in_category()'而不是'is_category()'。后者似乎是错误的Codex,因为您不知道当前帖子是否属于某个类别。也许你也应该尝试重新生成你的固定链接。 – Cyclonecode 2014-08-28 08:35:41

+0

是的,我尝试in_category。不工作。如何重新生成您的固定链接。我是一个新的PHP。你能编辑代码吗?这是测试网站:[链接](http://gs.comit.co.rs/de/home/) – 2014-08-28 10:13:40

0

我发现了in_category能够工作类别名称和它`塞必须相同。