更改侧边栏中自定义菜单的HTML结构

时间:2014-06-27 作者:user3751508

我一直在寻找有关如何更改“自定义菜单”的HTML输出的文档,您可以将其放置在可选小部件中。所以很清楚我遇到了什么,我在这里附上了一个小部件块的图像:

Custom menu

此元素的输出如下所示:

<div class="nav_menu-8 widget_nav_menu col-sm-4">
    <div class="menu-expo-container">
        <ul id="menu-expo" class="menu">
            <li><a href="http://xxxxx.com/test1">Test 1</a></li>
            <li><a href="http://xxxxx.com/test2">Test 2</a></li>
        </ul>
    </div>
</div>
正是这种代码结构,我想改变,使其符合我的需要。如何以及在何处更改?是否有一些代码源我可以重用和我的函数。php?

2 个回复
SO网友:Hendrik Luehrsen

处理原始数据总是有点脏。要做到这一点,干净的方法可能是实现一个自己的小部件,它完全按照您希望它做的做。

您可以在此处了解有关使用小部件API的更多信息:http://codex.wordpress.org/Widgets_API这里也有一些很好的例子。不难理解。

首先,您基本上可以从以下位置复制粘贴默认WP\\U Nav\\U Menu\\U小部件的代码default-widgets.php (第1298至1363行)转换为you主题(我建议您创建一个自己的文件,您需要从functions.php) 然后开始定制它。

但回到Christophs的回答:Walker API非常强大,如果你想在导航、评论等方面做一些花哨的事情,那么学习它绝对是值得的。

SO网友:Christoph Daum

要修改菜单,您主要将使用menu walker类。请参见此处http://codex.wordpress.org/Class_Reference/Walker 作为一个基本示例。

Menu walker不是很能自我解释的,因此如果您对PHP感到满意,可以考虑编写自己的PHP代码,直接查询数据库。

另一种也是最简单的方法可能是使用文本小部件并在那里输入原始HTML。这可能不是最优雅、最灵活的方式,但肯定是最快的。

这主要取决于你的需要。

结束

相关推荐

根据URL更改sidebar.php和footer.php

几天前,我提出了一个类似的问题,但也许我的问题有点不正确。我想要我的页脚。php和侧栏。php将根据URL进行更改。如果URL包含/ru,则显示ru页脚。php else显示默认页脚(footer.php)。侧边栏也应该如此。如果可能的话,你能一步一步地引导我吗。非常感谢。