使用新的wp\\U nav\\U菜单系统,可以添加一个类别作为菜单项,因此在我的示例中,我有一个“新闻”类别,它是“关于”的子菜单项。
About (page)
--news (category)
--history (page)
--contact us (page)
突出显示CSS的菜单从当前菜单父菜单和当前菜单父菜单中选取,因此当我在子菜单部分时,当我访问“新闻”时,顶级菜单项(例如“关于”)将突出显示。
这很好,除了当我访问“news”类别中的帖子时,它与is\\u single()和in\\u类别(“news”)相匹配。
据我在Firebug中所见,“当前菜单父菜单”和“当前菜单父菜单”应用于“新闻”菜单项,但它不应用于“关于”顶级菜单项。
我在设置菜单时有没有遗漏什么?我试过使用定制的助行器,但似乎初始菜单祖先设置不正确?
似乎我唯一的解决方案(不必求助于令人讨厌的JQuery黑客)是创建一个查询新闻帖子的“新闻”页面,而不是指向新闻“类别”。
有什么想法吗?
谢谢,丹
2010年9月9日更新代码示例
按照当前的方式,查看新闻类别中的单个页面http://www.example.com/2010/09/top-news-did-you-know/:
<li id="menu-item-28" class="menu-item menu-item-type-post_type menu-item-28"><a href="http://www.example.com/about/">About Us</a>
<ul class="sub-menu">
<li id="menu-item-71" class="menu-item menu-item-type-taxonomy"><a href="http://www.example.com/category/events/">Events</a></li>
<li id="menu-item-70" class="menu-item menu-item-type-taxonomy current-post-ancestor current-menu-parent current-post-parent current-menu-parent"><a href="http://www.example.com/category/news/">News & views</a></li>
<li id="menu-item-88" class="menu-item menu-item-type-post_type"><a href="http://www.example.com/contact-us/">Contact Us</a></li>
</ul></li>
所以您可以看到,“About Us”没有任何CSS类来表示它是当前查看页面的父级。
我认为它应该如何工作(老实说,如果它不能做到这一点,那么它就是由于缺乏实现而产生的bug):
<li id="menu-item-28" class="menu-item menu-item-type-post_type current-menu-ancestor current-menu-parent current_page_parent current_page_ancestor menu-item-28"><a href="http://www.example.com/about/">About Us</a>
<ul class="sub-menu">
<li id="menu-item-71" class="menu-item menu-item-type-taxonomy"><a href="http://www.example.com/category/events/">Events</a></li>
<li id="menu-item-70" class="menu-item menu-item-type-taxonomy current-post-ancestor current-menu-parent current-post-parent current-menu-parent"><a href="http://www.example.com/category/news/">News & views</a></li>
<li id="menu-item-88" class="menu-item menu-item-type-post_type"><a href="http://www.example.com/contact-us/">Contact Us</a></li>
</ul></li>
这有
current-menu-ancestor current-menu-parent current_page_parent current_page_ancestor
附加到顶级菜单项的CSS类。它以这种方式适用于每一个其他页面,甚至在查看类别本身时,只是不适用于类别中的任何一个页面。