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 包装器并将其更改为 nav 标记。我做了很多研究,这似乎是一个已知问题,无论是 Codex 没有写清楚还是这里真的存在错误。我玩过register_nav_menu()并且这样做似乎并没有改变任何东西,以及不同论坛上的所有其他答案。为什么这么简单的事情做起来这么难?

另一方面,仅仅因为我喜欢代码非常干净且易于阅读,有没有一种方法可以包含如上所示的正确间距,而不是仅仅在一条长行中?

4

1 回答 1

1

navvar 也不适合我。我只会使用:'container' => false代替。这至少会摆脱<div>您添加的标签中的其他<nav>标签。

<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

于 2012-10-08T10:30:20.713 回答