在WordPress中创建类别特定菜单

时间:2013-10-09 18:00:38

标签: php wordpress-plugin wordpress-theming

我第一次使用堆栈溢出,如果我做了一个失礼,请原谅我。

我是php新手,目前正在构建我的第一个WordPress主题。我希望网站的几个单独部分带有侧栏菜单,只显示您所在部分中其他页面的链接。例如,如果您正在查看A部分的第1个帖子,则侧边菜单会显示指向帖子的链接A部分的第2,3和4部分。菜单在A部分的所有帖子上都是相同的.B部分将有一个不同的菜单显示它的帖子。该网站将需要大约25-30个不同的部分。

我希望用类别来做这件事,但我肯定对其他选择持开放态度。我尝试了几种不同的方法,但没有成功。我觉得这应该很简单,我只是缺少一些基本的东西。

我认为我的问题是调用必要的信息,我将其作为:

<?php if (is_category('tanzania')) : ?>

   <?php wp_nav_menu(array(
    'theme_location' => 'tanzania-menu'
   )) ?>

<?php elseif (is_category('safrica')) : ?>

   <?php wp_nav_menu(array(
    'theme_location' => 'safrica-menu'
   )) 

<?php else : print('Nope.'); ?>

<?php endif; ?>

这根本不起作用(我相信你们都非常明显)。它会正确显示每个菜单,但仅限于类别概述页面。单击菜单中的链接后,您将转到帖子的perma-url,菜单消失。我发现这是因为in_category只能查看/ category /目录中的页面,但我不确定如何修复它。

另一个问题是让我的sidebar.php这么久。使用上面的方法我基本上有一个巨大的开关〜80行长。我不确定这是不是很糟糕,但似乎......不明智。每当我试图缩小它时,我最终都没有工作。

感谢您对此的帮助,WP一直是学习曲线。

1 个答案:

答案 0 :(得分:0)

它没有按您想要的方式工作,因为一旦您离开类别页面,规则就不再适用了。

您可以创建一大堆模板 - 每组页面一个。在模板中,您可以定义一个自定义侧边栏,您可以在其中添加自定义菜单。但这真的很笨重而耗时。

你真的,真的需要让你的访客变得如此复杂吗?如果您不断更改导航表单页面到页面,他们将会非常迷茫和迷惑,试图找到他们的网站。