我应该如何为此设置构建自定义菜单漫游?

时间:2014-05-01 作者:dfpchester

我有一个在HTML+CSS中构建的菜单结构,我想将其合并到WordPress菜单中,但我对扩展Walker类还不熟悉,想知道是否有人可以给我展示一个如何工作的示例。我想输出的代码如下:

<!-- Menu Start -->
<nav class="collapse navbar-collapse menu">
<ul class="nav navbar-nav sf-menu">
    <li><a id="current" href="front-page.php">Current Page</a></li>
    <li><a href="#" class="sf-with-ul">Top Level Menu <span class="sf-sub-indicator"><i class="fa fa-angle-down"></i></span></a>
        <ul>
            <li><a href="child-page.php" class="sf-with-ul">Child Link</a></li>
        </ul>
    </li>
    <li><a href="page.php">Another Link No Children</a></li>
</ul>
</nav>
<!-- Menu End -->
nav和ul标签覆盖整个菜单,无需重复。

没有任何子页面的单个页面的li只需要在裸li中有一个锚定标记,除非该页面是当前页面,并将适当的id添加到a标记中。

如果有一个包含子项的父项,请首先在a标记上显示带有“sf with ul”类的父链接,然后使另一个包含其li子项的ul组也具有相同的类。

有谁能告诉我如何实现这一目标的正确方向吗?非常感谢。

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

我只能想象,由于您正在添加类和ID,这是为了设计样式。我真的不明白这有什么意义。这是通用WP菜单的确切结构,对于类和ID:

当前页面获取一类“当前菜单项”,因此不需要id。只需像这样指向它:

nav .current-menu-item
如果任何菜单项有子菜单项,则会得到一个“菜单项有子菜单项”类,因此您可以使用该类选择li,然后选择其后面的直接子菜单项,如下所示:

.menu-item-has-children > a
将自动创建li中另一个带子级的ul,因此您可以像这样选择它,从而避免在嵌套ul的子级上需要“sf with ul”类:

.menu-item-has-children > a ul li
对我来说,walker适用于更复杂的任务,如从后端检索数据,然后用这些数据更改菜单,例如向HREF添加html数据属性。再说一遍,我不知道你想达到什么目的,但这只是一种风格,在我看来,步行者在这种情况下是一种过火的行为。

结束

相关推荐

Wp-Content/Themes/文件夹中的index.php文件

今晚,当我注意到一个索引时,我正在手动将我正在处理的主题上传到我的wordpress安装中。我的主题文件夹中的php文件。我打开了文件,其中只包含以下三行代码:<?php //silence is golden ?> 这让我很担心,起初我想可能是我不小心把文件上传到了主题目录,但文件的内容并不是我想放的任何东西。所以我的意思是,应该有一个索引。我的wp内容/主题/目录中的php文件?还是有人把它放在那里了。或现在我想起来了,可能是我无意中上传了这个文件,然后一个“黑