2012-09-18 26 views
0

目前,我有这样的:导航菜单容器不更改为选定变量

<nav><? wp_nav_menu(); ?></nav> 

那将是巨大的,有像这样的工作:

<? wp_nav_menu(array("container" => "nav"); ?> 

所以最终的结果是非常干净:

<nav> 
    <ul> 
    <li><a href="http://www.domain.com/page-a">Page A</a></li> 
    <li><a href="http://www.domain.com/page-b">Page B</a></li> 
    <li><a href="http://www.domain.com/page-c">Page C</a></li> 
    </ul> 
</nav> 

因此,它可以删除div包装并将其更改为导航标签。我做了大量的研究,看起来好像是一个已知的问题,Codex是不是写得很清楚,或者这里确实存在bug。我玩过register_nav_menu(),这样做似乎没有改变任何东西,以及在不同论坛上的所有其他答案。为什么这么简单的事情很难做到?

在另一方面,只是因为我喜欢的代码是非常干净,易于阅读,有没有办法,包括适当的间距,如上图所示,而不是它只是一个长行是?

回答

1

nav VAR不工作对我也。我只会使用:'container' => false。这将至少摆脱您添加的<nav>标签中额外的<div>标签。

<nav> 
    <?php wp_nav_menu(array('menu' => 'homepage', 'container' => false, 'items_wrap' => '<ul class="footer_menu">%3$s</ul>')); ?> 
</nav> 

'items_wrap'也可以让你清理输出。更多可以在这里阅读关于这个论点:https://wordpress.stackexchange.com/questions/19245/any-docs-for-wp-nav-menus-items-wrap-argument/19247#19247

+0

不适合我...仍然这样,导航> div class =“menu”> ul ... – SaurabhLP

+0

这里没有问题'container'=> false '。这会去掉'ul'周围的默认'div'。需要看到你的代码以任何方式进行协助......同样如此:http://codex.wordpress.org/Function_Reference/wp_nav_menu – Patrick