如何限制wp_nav_menu拉入的菜单项的数量?我只想拉入前5个菜单项,尽管实际菜单中有20个。客户端将选择订单,在所有其他地方,显示完整的菜单是可以的。这是我正在尝试的,但似乎不起作用:首页〉产品展示〉产品展示〉产品展示〉产品展示〉产品展示〉产品展示〉产品展示〉产品展示〉产品展示〉产品展示〉产品展示〉产品展示〉产品展示〉产品展示〉产品展示〉产品展示〉产品展示〉产品展示
wgx48brx1#
你能在管理中创建一个单独的菜单,只包含这五个项目,按照客户想要的顺序吗?然后你可以将该菜单附加到这个位置,另一个附加到其他位置。
t8e9dugd2#
这是我的解决方案(你需要修改“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);
rfbsl7qr3#
您可以使用css :nth-child(),在本例中为(n+6)。
(n+6)
nav.main-navigation li:nth-child(n+6){ display: none; }
umuewwlo4#
尝试将此代码添加到主题的functions.php文件中。
function limit_quicklinks_menu_items( $items, $args ) { if ( $args->theme_location == 'quicklinks' ) { $items = array_slice( $items, 0, 5 ); } return $items; } add_filter( 'wp_nav_menu_items', 'limit_quicklinks_menu_items', 10, 2 );
此代码可用于限制wp_nav_menu()针对特定菜单位置(如快速链接)拉入的菜单项数量。此代码使用wp_nav_menu_items过滤器在显示菜单项数组之前修改菜单项数组。
4条答案
按热度按时间wgx48brx1#
你能在管理中创建一个单独的菜单,只包含这五个项目,按照客户想要的顺序吗?然后你可以将该菜单附加到这个位置,另一个附加到其他位置。
t8e9dugd2#
这是我的解决方案(你需要修改“primary_navigation”):
rfbsl7qr3#
您可以使用css :nth-child(),在本例中为
(n+6)
。umuewwlo4#
尝试将此代码添加到主题的functions.php文件中。
此代码可用于限制wp_nav_menu()针对特定菜单位置(如快速链接)拉入的菜单项数量。此代码使用wp_nav_menu_items过滤器在显示菜单项数组之前修改菜单项数组。