WP_NAV_MENU()自定义容器和容器ID

时间:2010-08-25 作者:Tom Savage

所以今天我开始写我的第一个Wordpress主题,到目前为止,它很有趣。但是,我很难让wp\\u nav\\u menu()执行我想要的操作。

以下是我想要的:

<nav id="topnav" class="menu">
   <ul>
      <li class="current_page_item"><a href="#" title="Home">Home</a></li>
      <li class="page_item page-item-2"><a href="#" title="About">About</a></li>
   </ul>
</nav>
查看文档,我希望下面的调用能够满足我的要求:

<?php wp_nav_menu(array( \'container\' => \'nav\', \'container_id\' => \'topnav\' )); ?>
但我得到的却是:

<div class="menu">
   <ul>
      <li class="current_page_item"><a href="#" title="Home">Home</a></li>
      <li class="page_item page-item-2"><a href="#" title="About">About</a></li>
   </ul>
</div>
在我看来,自定义参数作为wp_nav_menu() 完全一样。我是否需要在某个地方打开一些东西来启用此功能,或者是否有其他事情正在进行?

EDIT

奇怪的是,如果我改变menu_class 它改变了div的类(我希望div是容器),但menu_id 什么都不做。

EDIT 2

甚至进入导航菜单模板。php和更改container、container\\u id、container\\u class、menu\\u id的默认值都不起作用。将menu\\u class更改为yyy将把div的类从menu更改为yyy。

2 个回复
SO网友:EAMann

首先,您将无法让WordPress输出任何类型的<nav> 元素使用本机函数。<nav> 是一个HTML5标记,WordPress是用来生成XHTML输出的。。。i、 e.编号<nav> 要素


Edit: 显然,该函数确实允许nav ... 但请记住,WordPress核心的其余部分仍然是为输出XHTML而构建的,而不是HTML5。。。注意确保您的站点正确验证

尝试删除该引用。。。它可能会导致忽略您的\'container_id\' => \'topnav\' 指示如果没有参考nav 您应该有:

<div id="topnav" class="menu">
   <ul>
      <li class="current_page_item"><a href="#" title="Home">Home</a></li>
      <li class="page_item page-item-2"><a href="#" title="About">About</a></li>
   </ul>
</div>

结束

相关推荐