WordPress 教程:如何删除自定义菜单函数 wp_nav_menu 的 div ul li 标签

[ 博客 ]

默认的自定义菜单函数 wp_nav_menu 会自动带有 div ul li 三个标签,有时为了配合设计排版,需要删除这些标签。

WordPress 中的自定义菜单函数 wp_nav_menu 默认输出的格式为:

<div>
<ul>
 <li><a>菜单文字</a></li>
<li><a>菜单文字</a></li>
</ul>
</div>

需要实现去掉 div ul li 三个标签后的格式为:

<a>菜单文字</a>
<a>菜单文字</a>

网上有人使用以下的方法,使用 str_replace 来去除 div 和 ul,但是 li 始终存在。

<?php
echo str_replace("</ul></div>", "", ereg_replace("<div[^>]*><ul[^>]*>", "", 
wp_nav_menu(array('theme_location' => 'primary', 'echo' => false)) ));
?>

最终完美的解决方案:

<?php 
 $menuParameters = array(
 'container' => false,
 'echo' => false,
 'items_wrap' => '%3$s',
 'depth' => 0,
 );
 echo strip_tags(wp_nav_menu( $menuParameters ), '<a>' );
?>

发表评论

电子邮件地址不会被公开。

随机