WordPress删除自定义菜单wp_nav_menu函数的div ul li标签

在做Wordpress二次开发的时候,发现前端导航调用的模板代码是a标签,而wordpress自定义菜单默认输出的是li标签容器,这里就需要删除自定义菜单wp_nav_menu函数的div ul li标签了。

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

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

可用正则清理:

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

但是li标签不好处理,我们可以借助strip_tags()函数,实现去除 div ul li 三个标签。

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