wp_nav_menu()没有添加.menu-item和类似的类?

时间:2013-12-18 21:50:57

标签: css wordpress

根据食典委http://codex.wordpress.org/wp_nav_menu

以下类应该应用于< li>由wp_nav_menu()生成的menu-item元素:

  • .menu-item(all< li>'s)
  • .menu-item-has-children(如适用)
  • .current-menu-item(如适用)
  • .current-menu-parent(适用时)
  • .menu-item-home(如果有指向网站首页的链接。

但是,我没有看到任何这些 - 不是我正在研究的主题,也不是二十四,二十四或下划线。

相反,我只看到列出的类只是为了向后兼容旧的wp_page_menu()输出:

  • .page_item
  • .page_item_ {ID}
  • .current_page_item
  • .page_item_has_children

我在我检查过的三个主题中找不到任何代码或过滤器会覆盖默认的类行为,我也没有在我自己的主题中有任何这样的代码。

我错过了一些非常明显的东西吗?事实上,我找不到其他人问为什么这些calsses没有出现,这让我觉得我可能会。 还有其他我需要做的事情来让“标准”CSS样式类显示出来吗?

我在 WordPress 3.8

header.php有:

wp_nav_menu( array( 'theme_location' => 'primarynav' ) ); 

functions.php设置功能有:

register_nav_menus( array(
    'primarynav' => __( 'Primary Site Navigation', 'newthemetextdomain' ),
) );

HTML输出(摘录 - 我正在使用测试数据,因此导航菜单比生产中更广泛)

<li class="page_item page-item-174 page_item_has_children current_page_ancestor current_page_parent">
    <a href="http://127.0.0.1/DevWP/?page_id=174">Level 1</a>
    <ul class='children'>
        <li class="page_item page-item-173 page_item_has_children">
            <a href="http://127.0.0.1/DevWP/?page_id=173">Level 2</a>
            <ul class='children'>
              <li class="page_item page-item-172">
                  <a href="http://127.0.0.1/DevWP/?page_id=172">Level 3</a>
              </li>
              <li class="page_item page-item-746">
                  <a href="http://127.0.0.1/DevWP/?page_id=746">Level 3a</a>
              </li>
              <li class="page_item page-item-748">
                  <a href="http://127.0.0.1/DevWP/?page_id=748">Level 3b</a>
              </li>
          </ul>
      </li>
      <li class="page_item page-item-742 current_page_item">
          <a href="http://127.0.0.1/DevWP/?page_id=742">Level 2a</a>
      </li>

1 个答案:

答案 0 :(得分:0)

默认情况下,wp_nav_menu()使用wp_page_menu()作为后备,后者具有不同的类(codex)。如果没有为主题位置分配导航菜单,则将使用后备。您可以编写自己的后备函数,并使用fallback_cb wp_nav_menu()的{​​{1}} arg来调用它。