最后一个菜单项的菜单样式

时间:2014-04-06 作者:JoshuaBrand

好的,我使用下面的代码来获取我的链接。。。

<?php wp_nav_menu( array(\'theme_location\' => \'primary\', \'container\' => \'\', \'menu_class\' => \'mainnav\') ); ?>
这是我的导航CSS。。。

.mainnav a {
    font-family: gooddog_plainregular, Arial, sans-serif;
    font-size: 30px;
    color: #ffea00;
    text-decoration:none;
}

.mainnav li:after {
content: url(\'images/nav-divider.png\');
}

.mainnav li.last:after {
content: none;
}

.mainnav li {
    list-style: none;
    display: inline;
    font-size: 30px;
    margin-bottom: 10px;
}

.mainnav li.last {
    list-style: none;
    display: inline;
    font-size: 30px;
    margin-bottom: 10px;
}
我的问题是li.last 不起作用,如何将类添加到其中?

谢谢:)

3 个回复
SO网友:Howdy_McGee

这里有一个函数,我用来向其中添加第一个/最后一个类wp_nav_menu() 项目:

function add_first_and_last($items) {
    $items[1]->classes[] = \'first\';
    $items[count($items)]->classes[] = \'last\';
    return $items;
}
add_filter(\'wp_nav_menu_objects\', \'add_first_and_last\');

Developer Resources - wp_nav_menu_objects Hook

SO网友:Giacomo Paita

使用last-child CSS中的伪类:

.mainnav li:last-child
  {
    /* your code */
  }

SO网友:garymarkfuller

Howdee\\u McGee提到的功能很棒,但似乎只适用于没有子菜单项的菜单。对于包含子菜单项的菜单,请尝试:

function add_first_and_last_top_level($items) {
$topitems = [];
foreach($items as $menu_item){
    if($menu_item->menu_item_parent==0){
        $topitems[] = $menu_item->menu_order;
    }        
}
$itemcount = end($topitems);
$items[1]->classes[] = \'menu-item-first\';
$items[$itemcount]->classes[] = \'menu-item-last\';
return $items;
}

add_filter(\'wp_nav_menu_objects\', \'add_first_and_last_top_level\');

结束

相关推荐

Slider's missing navigation

我安装了BuddyPress和Easy FancyBox,还安装了carouFredSel滑块(不是WordPress插件)。启用这两个插件后,滑块将停止正常工作(导航项目符号丢失)。这可能是某种jQuery冲突吗?这是标题。php:http://pastebin.com/eBLpFBZ9 下面是带有滑块的页面:http://adamklimowski.pl/chamois/提前感谢您提供的任何帮助。