性价比最高的香港ASP、PHP主机提供商
做网站,就上凡科建站

禁止WordPress菜单函数 wp_nav_menu() 输出 div 和 ul 标签

Loading
0
阿里云代金券1000元礼包免费抢

使用 wp_nav_menu() 输出菜单是非常容易的事,为了实现主题菜单的某些样式效果,也许我们并不需要输出 div 和 ul 标签,下面就分享下具体的实现方法。

wp_nav_menu() 默认输出是带有 div 和 ul 标签的,比如:

1
2
3
4
5
6
<div class="menu-header-container">
	<ul id="menu-header" class="menu">
		<li class="current-menu-item"><a href="https://www.wpdaxue.com/">大学首页</a></li>
		<li><a href="https://www.wpdaxue.com/category/news">WordPress资讯</a></li>
	</ul>
</div>

我们要实现的效果应该是这样的:

1
2
<li class="current-menu-item"><a href="https://www.wpdaxue.com/">大学首页</a></li>
<li><a href="https://www.wpdaxue.com/category/news">WordPress资讯</a></li>

阅读 WordPress导航菜单函数register_nav_menus() 和 wp_nav_menu() ,了解了 wp_nav_menu() 的参数以后,我们不难发现,要去除 div 标签是非常容易的事情,只需添加 ‘container’ => false 参数即可。

要去除 ul 标签(只会去除最外围的 ul,对子级 ul 不影响),我们需要用到 items_wrap 参数。items_wrap 有三个可定义选项:

‘items_wrap’ => ‘<ul id="%1$s" class="%2$s">%3$s</ul>’

如果你要定义 ul 的 id 和 class 属性,可以直接修改 %1$s 和 %2$s 为具体的值,如果你要移除 ul 标签,使用参数 ‘items_wrap’ => ‘%3$s’ 即可

最终示例如下:

1
<?php if(function_exists('wp_nav_menu')) wp_nav_menu(array('container' => false, 'items_wrap' => '%3$s', 'theme_location' => 'foot-menu')); ?>

推荐阅读:移除 WordPress 菜单输出的多余的CSS选择器id或class

支付宝扫码打赏 微信打赏

如果本文对你有帮助,请打赏作者,鼓励我们继续写作!

WordPress快站:让WordPress建站更简单

关于 倡萌

一个疯狂的 WordPress 爱好者,喜欢折腾 WordPress 主题,分享 WordPress 资源。如果你也喜欢 WordPress,欢迎和我一起交流!

精彩推荐

WordPress 传递PHP数据或字符串到JavaScript

WordPress 传递PHP数据或字符串到JavaScript

创建你的第一个WordPress小工具

创建你的第一个WordPress小工具

10 条评论

  1. 菜单链接中 菜单文本 如何给a加上一个class
    变成菜单文本

  2. 想知道最简单的 要去除 li 的方法?

  3. 话说如何去除li后保留class给a链接?

  4. 你好 我想在<ul id="menu-header" class="menu"> 这个后面加一句<div class="hcent"> 应该怎么添加?

发表评论