向wp_NAV_MENU添加唯一类

时间:2012-05-24 作者:dcd0181

如何向使用wp\\u nav\\u菜单生成的主父ul元素的直接子li元素添加唯一类?

<nav id="access" role="navigation">
  <div class="menu-main-container">
    <ul id="menu-main" class="menu">
      <li id="menu-item-30" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-30"><a href="http://www.site/page1-2/">Page1</a>
        <ul class="sub-menu">
          <li id="menu-item-50" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-50"><a href="http://www.site/sub-page1-1/">Sub-Page1-1</a></li>
          <li id="menu-item-49" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-49"><a href="http://www.site/sub-page1-2/">Sub-Page1-2</a></li>
        </ul>
      </li>
    </ul>
  </div>
</nav>
我想添加类menu_elementli id="menu-item-30" 而每一个孩子李的父母ul之后。这可能吗?

提前感谢!

1 个回复
最合适的回答,由SO网友:Jeremy 整理而成

查看标题为Adding Conditional Classes to Menu Itemswp_nav_menu 法典第页。这将为您提供一个很好的概述,可以使用nav_menu_css_class 滤器

对于你要求做的事,那就是添加menu_element 对于ID为30的菜单项及其后面列出的菜单项的class属性,可以在主题的functions.php 文件:

function menu_element_class($classes, $item){
    if($item->ID == 30 || $item->menu_item_parent == 30) {
        $classes[] = "menu_element";
    }
    return $classes;
}

add_filter(\'nav_menu_css_class\' , \'menu_element_class\' , 10 , 2);
这只是检查菜单项的ID是否为30,或者其父菜单项是否为30,并将“menu\\u元素”添加到类数组中。当然,您可以更改if 语句,以在添加类之前检查您想要的任何条件。

结束

相关推荐

PHP IF语句打印IF参数

所以我在页面的右侧有一个帖子列表。我试图这样做,当你在看一篇文章时,相应的链接(在页面的右侧)被选中(就像你在页面上一样,导航中的菜单项被高亮显示)。有意义吗?我试图使用此“if”语句添加类“selected highlight”<div class=\"service-highlight-box-sidebar <?php if(single_post_title() == the_title()){ echo \' selected-highlight\'; } ?>\">&#