WP笔记

从wp_nav_menu中移除li标签

在WordPress中,由wp_nav_menu()函数生成的菜单会被包围在<li></li>标签中,仅由a标签组成的菜单在情况下也是有意义的,比如要实现仅由<div>和<a>标签构成的菜单结构。

要实现的结构

<div class="user_menu">
	<a href="#">Menu Item 1</a>
	<a href="#">Menu Item 1</a>
	<a href="#">Menu Item 1</a>
	<div class="clear"></div>
</div>

使用下面的代码实现

<?php

echo strip_tags(wp_nav_menu(
        array('theme_location' => 'primary',
            'container_class' => 'user_menu',
            'echo' => false,
            'items_wrap' => '%3$s<div class="clear"></div>')
), '<a><div>');
?>

5条评论

  1. Pingback: 从wp_nav_menu中移除li标签 | tieke.org
  2. 不好意思,刚看到留言。我的确发代码了,好像被过滤掉了,没注意看你的留言提醒。

    我的意思是

     'items_wrap' => '%3$s<div class="clear:both"></div>')

    中的

    class="clear:both"

    应该是

    <div style="clear:both">
    1. 你好,你发布了代码吗?似乎被截断了,WordPress会对不具有unfiltered_html权限的用户发布的评论进行过滤。请看下上面发布代码的说明,看你意思是对我的代码有异议,所以我很想知道是什么。

评论已关闭。