我第一次使用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 的学习曲线相当不错。