Either in your setup file or in your general functions.php, update and include the following code:
// This theme uses wp_nav_menu() in one location. register_nav_menu( 'primary', __( 'Primary Menu', 'theme-slug' ) );
//get 'your_custom_menu' id to assign it to the primary menu location created $menu_header = get_term_by('name', 'your_custom_menu', 'nav_menu'); $menu_header_id = $menu_header->term_id;
//if menu not found, create a new one if($menu_header_id == 0) { $menu_header_id = wp_create_nav_menu('your_custom_menu'); }
//Get all locations (including the one we just created above) $locations = get_theme_mod('nav_menu_locations'); //set the menu to the new location and save into database $locations['primary'] = $menu_header_id; set_theme_mod( 'nav_menu_locations', $locations );