1

我第一次使用stack-overflow,如果我做错了,请原谅我。

我是 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; ?>

这根本不起作用(我相信这对你们所有人来说都是非常明显的)。它正确显示每个菜单,但仅在类别概述页面上。一旦您单击菜单中的链接,它会将您带到帖子的永久网址,然后菜单就会消失。我发现这是因为 in_category 只能看到 /category/ 目录中的页面,但不确定如何修复它。

另一个问题是我的 sidebar.php 太长了。使用上述方法,我基本上有一个巨大的开关,大约 80 行。我不确定这是否不好,但似乎……不明智。每次我试图缩小它时,我都发现它根本不起作用。

感谢您对此的帮助,WP 的学习曲线相当不错。

4

1 回答 1

0

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

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

你真的,真的需要让你的访客变得如此复杂吗?如果您不断更改导航表单页面,他们将非常迷失和困惑,试图在站点中找到自己的方式。

于 2013-10-10T20:07:33.840 回答