I'm using this script inside a plugin to create a new custom menu on the fly and assign a page to it...
$menu_id = wp_create_nav_menu( 'header-menu' ); $menu = array( 'menu-item-type' => 'custom', 'menu-item-url' => get_home_url('/'),'menu-item-title' => 'Home', 'menu-item-status' => 'publish' ); wp_update_nav_menu_item( $menu_id, 0, $menu );
And this works great. However, what I'm stuck on is how to hook this menu up to one of my theme's "Menu Locations". Since I'm registering a nav location called "header-menu" in my theme's functions.php, I thought that the code above, calling wp_create_nav_menu( 'header-menu' ) would hook my custom menu to the location defined in my theme as "header-menu", but its not.
For example, my theme registers two menu locations...
register_nav_menus( array('header-menu' => __( 'My Header Menu' ), 'footer-menu' => __( 'Footer Menu' )) );
How can I hook the "Header Menu" I created with wp_create_nav_menu( 'Header Menu' ) to the "My Header Menu" location that i've registered in my theme? I'm sure the answer is somewhere in nav-menu.php, but I can't find it.
ie, I can do this manually from the WordPress "Appearance > Menus" Manager and under "Theme Locations > Main Navigation Menu" I select "Header Menu" and click "Save". I'm trying to do this in script.