是否可以在主菜单上显示一些有限的菜单列表?

Is it possible to show some limited menu list on primary menu?

我有一个主菜单,代码是

<nav id="site-navigation" class="main-navigation float-right">
 <?php wp_nav_menu( array( 'theme_location' => 'menu-1','menu_id'=> 'primary-menu') );?>
 </nav>

现在我的左侧边栏使用相同的菜单

<nav id="left-side-menu" class="main-navigation">
     <?php wp_nav_menu( array( 'theme_location' => 'menu-1', 'menu_id' => 'left-primary-menu',) );?>        
 </nav>

我总共有 15 个菜单列表,但我必须在 primary-menu 上显示 8 个,所有菜单列表将显示在 left-primary-menu 上。

那么是否可以在主菜单上显示一些有限的菜单列表?

请试试这个功能

//Used This Function for Register Menus
function twentytwenty_menus() {
    $locations = array(
        'primary'  => __( 'Desktop Horizontal Menu', 'twentytwenty' ),
        'leftsidebar'   => __( 'Slidebar Menu', 'twentytwenty' ),   
    );
    register_nav_menus( $locations );
}
add_action( 'init', 'twentytwenty_menus' );


//Used This Function for set Limit of Menu Items
add_filter( 'wp_nav_menu_objects', 'mytheme_menufilter', 10, 2 );
function mytheme_menufilter($items, $args) {
    // want our MAINMENU to have MAX of 7 items
    if ( $args->theme_location == 'primary' ) {
        $toplinks = 0;
        foreach ( $items as $k => $v ) {
            if ( $v->menu_item_parent == 0 ) {
                // count how many top-level links we have so far...
                $toplinks++;
            }
            // if we've passed our max # ...
            if ( $toplinks > 2 ) {
                unset($items[$k]);
            }
        }
    }
    return $items;
}

要完成您的工作,您可以在活动主题的 functions.php -

中使用以下代码片段
function modify_wp_nav_menu_objects( $items, $args ) {
        if( $args->theme_location == 'menu-1' && $args->menu_id == 'left-primary-menu' ) { // if valid your conditions
            // do your modification with $items here
            $items = array_slice( $items, 0, 8 ); // first 8 items
        }
        return $items;
    }
    add_filter( 'wp_nav_menu_objects', 'modify_wp_nav_menu_objects', 99, 2 );