css - wp_nav_menu() 不添加 .menu-item 和类似的类?

标签 css wordpress

根据法典 http://codex.wordpress.org/wp_nav_menu ,

以下类应该应用于由 wp_nav_menu() 生成的

  • 菜单项元素:

    • .menu-item(所有
    • 的)
    • .menu-item-has-children(如适用)
    • .current-menu-item(如适用)
    • .current-menu-parent(如适用)
    • .menu-item-home(如果有指向网站首页的链接。

    但是,我没有看到任何这些——不是关于我正在处理的主题,也不是关于 twentythirteen、twentyfouteen 或下划线。

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

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

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

    我是否遗漏了一些非常明显的东西?事实上,我找不到其他人问为什么这些类(class)没有出现,这让我觉得我可能是。 我还需要做些什么才能显示“标准”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>
    

  • 最佳答案

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

    关于css - wp_nav_menu() 不添加 .menu-item 和类似的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20669183/

    相关文章:

    php - 如何在 Windows Azure 上部署现有的 WordPress 项目

    html - 如何使用CSS修复响应式下拉菜单?

    javascript - 如何删除iOS中的Javascript插件代码?

    html - SELECT OPTION 有条件地应用 CSS

    css - 如何清除 DIV

    除非重复规则集,否则 CSS 将无法工作

    mysql - Wordpress SQL 查询产品 X 的用户名字和姓氏?

    javascript - 模板化仅采用标题/内容参数的 HTML 代码块的简洁方法,其中内容可能很大且散布着换行符

    javascript - 使用 jquery 插件 slick carousel 自定义箭头和点

    Php 错误不记录 wordpress 插件