Home > Back-end >  Add Custom Nav Menu Scroll Points To Onboarding Menu
Add Custom Nav Menu Scroll Points To Onboarding Menu

Time:01-06

I need to add scroll points to custom links for theme setup in the onboarding-shared.php file :

'navigation_menus' => [
        'primary' => [
            'getstarted'    => [
                'title' => 'Get Started',
            ],
            'testimonials'  => [
                'title' => 'Testimonials',
            ],
            'contact'       => [
                'title' => 'Contact Us',
            ],
        ],
    ],

Is it possible to hard code the links in the PHP array? I would like to add custom links like this :

#section-2

Like this :

enter image description here

CodePudding user response:

You can use wp_create_nav_menu() and wp_update_nav_menu_item() to accomplish this:

$menu_name = 'Primary';
$menu_exists_primary = wp_get_nav_menu_object( $menu_name );

if ( ! $menu_exists_primary  ) {
        $menu_id = wp_create_nav_menu($menu_name);

        wp_update_nav_menu_item( $menu_id, 0, array(
            'menu-item-title'   =>  'Get Started',
            'menu-item-url'     => '#getstarted', 
            'menu-item-status'  => 'publish'
        ) );
        
        wp_update_nav_menu_item( $menu_id, 0, array(
            'menu-item-title'   =>  'Testimonials',
            'menu-item-url'     => '#testimonials', 
            'menu-item-status'  => 'publish'
        ) );
        
        wp_update_nav_menu_item( $menu_id, 0, array(
            'menu-item-title'   =>  'Contact Us',
            'menu-item-url'     => '#contact', 
            'menu-item-status'  => 'publish'
        ) );
        
        $locations = get_theme_mod('nav_menu_locations');
        $locations['primary'] = $menu_id;
        set_theme_mod( 'nav_menu_locations', $locations );
    }
  • Related