Multi-level page hierarchy

时间:2010-09-28 作者:Kris C

迄今为止,我的大多数WordPress网站都是博客内容,以及1或2级页面层次结构。

我现在正在考虑开发一个具有客户站点地图的站点,该地图表明需要一个由4个级别的页面内容组成的层次结构。就WordPress而言,层次结构很容易创建,但我正在研究如何在该页面层次结构的主题中提供导航。

我看到的一件事是折叠页面列表插件,但在这个主题上找不到其他内容。我想知道是否有人有任何例子或经验,他们可以建议如何最好地为这样的深层页面层次结构提供主题导航?

编辑-为了澄清,我目前还没有选择导航类型,这是问题的一部分。在两级页面层次结构中,我通常在第一级使用顶部导航,下拉菜单显示第二级导航

这很难扩展到4个级别的导航(除非我们使用类似于Windows开始按钮类型菜单的多个菜单打开,或者menumatic example in this article).

因此,我正在考虑可用的替代方法,例如,在顶栏上进行顶层导航,然后在侧栏中显示第二级导航标题,并在向下钻取到第三级和第四级时显示可扩展的子部分。例如。see the \'in action\' section at the bottom right of the fold page list plugin webpage

然而,很可能还有其他很好的方法来实现这一点,因此问题是,要尝试并理解其他人是如何在WordPress中提供导航,以深入了解页面内容的层次结构的

2 个回复
最合适的回答,由SO网友:edelwater 整理而成

具有非动态内容的菜单如果菜单结构是固定的,那么您可以使用“新”wp菜单系统创建一个固定菜单(在该系统上发布了千万次日志)

    具有动态内容的菜单如果菜单结构不是固定的,您可以:

    a、 要求用户在添加新类别后手动维护菜单

    b、 尝试连接菜单中的所有内容,例如新类别,并将其添加到菜单中,以防止用户进行这些手动操作

    c、 选择另一个“非wp”菜单,并在每个页面加载时动态填充该菜单(显然是使用缓存)。示例:在表示标记页的条目后面放置计数器(67)

如果是选项(c),我会选择,例如:http://www.mycssmenu.com/ 为您喜欢的菜单生成代码,然后将该菜单的javascript和css复制并粘贴到标题中。主题的php。(我不知道该网站的所有者是谁,但用于创建新菜单的GUI系统绝对非常酷)。

然后用一些代码替换内容位(非常简单:仅li项),例如查询层次循环中的类别数量,并用动态输出替换li项。

-->这样,您就有了一个包含动态内容的动态菜单,您可以在菜单中随意使用代码。

示例

菜单生成器生成了我。css和。javascript和菜单的示例内容。我将示例内容替换为对函数“taglinklineRounded”的调用:

<li><a class="qmparent" href="javascript:void(0)">ARTS</a>
        <ul>
        <li><span class="qmtitle" >Listen</span></li>
        <?php echo taglinklineRounded(\'music\',    \'Music\') ?>
        <?php echo taglinklineRounded(\'radio\',    \'Radio\') ?>
        <li><span class="qmdivider qmdividerx" ></span></li>
        <li><span class="qmtitle" >Look</span></li>
        <?php echo taglinklineRounded(\'comics\',   \'Graphics\') ?>
        <?php echo taglinklineRounded(\'photo\',    \'Photo\') ?>
        <?php echo taglinklineRounded(\'graphics\', \'Graphics\') ?>
        <?php echo taglinklineRounded(\'art\',      \'Art\') ?>
        <li><span class="qmdivider qmdividerx" ></span></li>
        <li><span class="qmtitle" >View</span></li>
        <?php echo taglinklineRounded(\'tv\',       \'TV\') ?>
        <?php echo taglinklineRounded(\'video\',    \'Video\') ?>
        <?php echo taglinklineRounded(\'movie\',    \'Movie\') ?>
        <li><span class="qmdivider qmdividerx" ></span></li>
        <li><span class="qmtitle" >Read</span></li>
        <?php echo taglinklineRounded(\'book\',     \'Book\') ?>
        <?php echo taglinklineRounded(\'writing\',  \'Writing\') ?>
        <?php echo taglinklineRounded(\'news\',     \'News\') ?>
        <li><span class="qmdivider qmdividerx" ></span></li>
        <li><span class="qmtitle" >Specific</span></li>
        <?php echo taglinklineRounded(\'scifi\',    \'Sci-Fi\') ?>
        <?php echo taglinklineRounded(\'lost\',     \'LOST\') ?>
        </ul></li>
taglinklineRounded函数为我提供了具有此标记的条目数量(但很明显,任何代码都可以在菜单结构上完成)。

以一种更加动态的方式,您可以阅读菜单中的类别/任何其他需要的内容,而不是示例中的硬编码“scifi”。。。将其替换为该类别输出的echo语句。

(当然,也可以在样式选择中显示出您想要的深度)。

其他想法我想你甚至可以通过让菜单中的某些部分由用户管理来将标准wp菜单与动态菜单结合起来,而其他部分则通过在新的动态菜单中组合输出来实现动态。我没玩过这个。

SO网友:PaulAdamDavis

你是说你想要面包屑型导航吗?或者列出当前页面的所有子页面您的确切意思是什么?我已经做了很多类似的事情,所以我可能会在某个地方为此编写一段代码。

结束

相关推荐

Adding goodies to themes

如何在主题更新时向Arjuna-X等主题添加内容而不丢失?儿童主题是一种很好的方式,还是有其他选择?如果新版本的主题对我添加的功能具有本机支持,该怎么办?