有些项目有一个下拉菜单。要显示菜单,我使用wp_nav_menu。
根据现有设计,需要改变结构html。a将标签更改span为带有嵌套列表的菜单项的标签。那些。如果菜单项有嵌套列表,则它不能是链接。因此,您需要获得以下菜单结构:
<ul>
<li><a href="">Parent item</a></li>
<li class="menu-item-has-children">
<span>Parent item</span>
<ul>
<li><a href="">text1</a></li>
<li><a href="">text2</a></li>
</ul>
</li>
<li><a href="">Parent item</a></li>
</ul>
如何更改代码wp_nav_menu以获得这样的菜单结构?
更新程序
有这样的解决办法。但是这段代码改变了整个标记,没有检查嵌套列表。
是不是这样:
或者,您可以添加一个过滤器 - add_filter('wp_nav_menu', 'my_function') 到主题函数(在 function.php 文件中)。
真的有必要改吗?向其添加代码
functions.php是一个拐杖,可以说是服务器的额外处理。有一种更简洁的方法css:只需将一个类添加到输出链接,然后标签仍然存在,但是当您单击带有类的链接时不会发生任何事件,并且您不必削减过滤器(这在或多或少的大型项目中已经足够了)。