Change sub-menu css class

时间:2012-08-08 作者:sundaysloth

我使用带有下拉菜单的自定义菜单。我想制作两个不同的下拉菜单,每个都有不同的样式。Wordpress使用class="sub-menu". 但我需要为每个菜单设置不同的类别。

<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3
  <ul class="sub-menu">
      <li>Sub menu item 1</li>
      <li>Sub menu item 1</li>
  </ul>
</li>
</ul>
我发现这可以通过一种叫Walker的东西来实现,但我不明白。

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

如果不想使用自定义菜单遍历器,可以使用wp已经推出的类。

如果你在菜单项中添加了一个类,你知道会有一个额外的ul, 你会有这样的东西

<ul>
    <li class="menu-item menu-item-1">Item 1</li>
    <li class="menu-item menu-item-2">Item 2</li>
    <li class="sub-1 menu-item menu-item-3">Item 3
      <ul class="sub-menu">
          <li>Sub menu item 1</li>
          <li>Sub menu item 1</li>
      </ul>
    </li>
    <li class="sub-2 menu-item menu-item-3">Item 3
      <ul class="sub-menu">
          <li>Sub menu item 1</li>
          <li>Sub menu item 1</li>
      </ul>
    </li>
</ul>
然后可以在css中选择

.sub-1 ul { color: blue; }
.sub-2 ul { color: red; }
要向菜单项添加css类,请确保在菜单页的“屏幕选项”中勾选了“css类”。

结束

相关推荐

Order Admin sub-menu items?

我正在使用向CPT管理菜单添加项目add_submenu_page 这很好,但它们被添加到CPT选项后的子菜单底部。我希望能够将它们放在最上面,但我想这个问题也可以应用于订购所有基于管理员的子菜单项。我所尝试的(不起作用,我尝试了几种变体),function custom_menu_order($menu_ord) { if (!$menu_ord) return true; return array( \'edi