wp_nav_menu仅显示前5个菜单项

时间:2014-01-14 19:51:13

标签: wordpress

如何限制wp_nav_menu引入的菜单项数?我只想拉出前5个菜单项,即使实际菜单中有20个。客户将选择订单,在所有其他地方,可以显示完整菜单。

这是我正在尝试但它似乎不起作用:' - (

  

wp_nav_menu(array('theme_location'=>'quicklinks','menu_item_start'=> 1,'menu_item_end'=> 5));

2 个答案:

答案 0 :(得分:1)

您是否可以按照客户需要的顺序在admin中创建一个单独的菜单,只包含这五个项目?然后你可以将菜单附加到这个位置,将另一个菜单附加到其他位置。

答案 1 :(得分:0)

这是我有效的解决方案(您需要修改“ primary_navigation”):

function max_nav_items($sorted_menu_items, $args){
    if($args->theme_location != "primary_navigation") return $sorted_menu_items;
    $items = array();
    foreach($sorted_menu_items as $item){
        if($item->menu_item_parent != 0) continue;
        $items[] = $item;
    }
    $items = array_slice($items,0,8);
    foreach($sorted_menu_items as $key=>$one_item){
        if($one_item->menu_item_parent == 0 && !in_array($one_item,$items)){
            unset($sorted_menu_items[$key]);
        }
    }
    return $sorted_menu_items;
}
add_filter("wp_nav_menu_objects","max_nav_items",10,2);