根据法典 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/