WordPress菜单函数 wp_nav_menu() 默认输出的菜单,带有 div 和 ul 标签,WordPress建站的很多时候我们想要定义一些主题菜单的特殊样式效果,需要去掉自带的 div 和 ul 标签,下面我们来简单介绍一下方法。
修改前输出的菜单效果如下:
1 2 3 4 5 6 7 8 9 10 | <div class="menu-main-menu-container"> <ul id="menu-main-menu" class="menu"> <li id="menu-item-7" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-2 current_page_item menu-item-7"> <a href="https://www.91wordpress.com">首页</a> </li> <li id="menu-item-22" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-22"> <a href="https://www.91wordpress.com/about-us">关于我们</a> </li> <ul> </div> |
要去除 div 标签是非常容易的事情,只需添加 ‘container’ => false 参数即可。
要去除 ul 标签(只会去除最外围的 ul,对子级 ul 不影响),我们需要用到 items_wrap 参数。
items_wrap 有三个可定义选项:
1 | 'items_wrap' => '<ul id="%1$s" class="%2$s">%3$s</ul>' |
如果要定义 ul 的 id 和 class 属性,可以直接修改 %1$s 和 %2$s 为具体的值,如果要移除 ul 标签,使用如下参数即可:
1 | 'items_wrap' => '%3$s' |
在调用菜单的地方插入如下代码:
1 2 3 4 5 | <?php if(function_exists('wp_nav_menu')) { wp_nav_menu(array('container' => false, 'items_wrap' => '%3$s', 'theme_location' => 'main-menu')); } ?> |
输出的菜单结构如下:
1 2 3 4 5 6 | <li id="menu-item-7" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-2 current_page_item menu-item-7"> <a href="https://www.91wordpress.com">首页</a> </li> <li id="menu-item-22" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-22"> <a href="https://www.91wordpress.com/about-us">关于我们</a> </li> |
下一篇文章中我们将介绍一下如何 去掉WordPress菜单中多余的CSS选择器id或class