I dug through the wordpress code to see what was happening when I submitted the form from the admin UI to see what function it was calling (and did a var_export()
on the variable being passed in) and saw it was calling set_theme_mod( 'nav_menu_locations', $menu_locations );
. I’ve updated my code to use this and it seems to be working:
$locations = get_theme_mod('nav_menu_locations');
$locations['primary'] = $menu_id;
set_theme_mod( 'nav_menu_locations', $locations );
One of the things that threw me off when I was trying to figure out how to do this is that the documentation for get_theme_mod()
says that it returns a string, but in this case it is returning an array and so I didn’t think it was going to work.
Related Posts:
- How to add a data attribute to a WordPress menu item
- Get the ID of the page a menu item links to?
- Add container to nav_menu sub menu
- Get menu object from theme_location
- Remove Container Element From wp_nav_menu() Markup
- Using wp_get_nav_menu_items() to list children of children pages
- How to target specific wp_nav_menu in function?
- Breadcrumbs showing Parent and Child Pages
- Custom menus displaying all pages instead of set pages
- Return only top-level navigation items from a menu using wp_get_nav_menu_items
- How to activate “Description” metabox for menu item programmatically?
- Dynamically add sub-categories to any category in the menu
- Breadcrumb how i can display page title with parent > child title with permalink ? any Idea
- Two different menus for two different locations?
- automatically adding submenu items
- Unregister Nav Menu with fallback?
- Editing or filtering the output of the Genesis navigation
- Make menu structure match page heirarchy on page parent change
- Is there a way to add a class to non current menu item?
- Logout hyperlink within a sub-menu
- Menu fallback “menu_class” rendering a “div” instead of a “ul”
- CSS for menu item added via functions.php
- How To Remove Duplicate Menu Locations
- Where do I add html code to the menu div?
- Replace menu links with # and add name to its li
- How do I create page navigation linking to each H2 within the page? [closed]
- Function issue with Walker_Nav_Menu [duplicate]
- Why does the ‘wp_nav_menu’ function work only until a menu is created?
- Custom Static Links For Specific Menu Right Before/Next The wp_nav_menu Function now working
- Make parent page only link to first subpage
- How to add nav menu items to a specific position within a menu
- wp_nav_menu, walker class, categories as classes of li
- Hard-coding custom menu elements for menu manager
- Custom Nav Walker sub-menu
- How to fetch the name of the active menu?
- Replace a menu with widget or a custom template file programmatically
- Categories as main menu items and subcategories as nested lists
- Removing specific menu items?
- How do I hook into the container of wp_nav_menu?
- New custom menu created. how to apply it?
- Dropline menus — seperators between children only?
- Filter nav menu items HTML tags and wrap inner text with span
- retrieves menu and converts it to a readable array
- Functions php shortcode for displaying main menu with no child items
- Nav menus all outputting the same links
- Secondary Menu and Logged In Users
- Change menu based on page template via functions.php
- Show some menu sub items as dropdown under a menu item
- How to add custom li item to wordpress menu
- Add Login/Logout Menu Item to Primary Nav “My Account” Submenu [Woocommerce] [closed]
- Default Nav Highlight
- why is this function firing on all child menu items as well?
- Different methods of adding menu support to custom theme
- Adding a section in line at the end of the main navigation menu in php
- Multiple navigation menu in same location
- wp_nav_menu work in functions.php but not in the theme
- How to register a menu based on a ACF condition
- How to hightlight all ancestor menu items of a child page NOT displayed in menu
- current_page_item is missing inside wp_nav_menu
- search form leads to 404
- Unable to add extra elements to the main navi (wp_nav_menu_items)
- How Can I add a menu to the theme from withen the function.php file
- define css class in functions.php
- Custom Menu in Admin doesn’t change menu in browser
- How would I make a function to dynamically determine if user is logged to change navigation menu text?
- Conditional custom menu?
- wp_nav_menu displaying all pages
- Warning at top of website & top menu gone
- How to display an image before title text in menu items
- Bizarre Child Menu Issue on WP Site
- Header menu aligned right on all pages except for single-post page [closed]
- How to automatically add counted number to navigation menu items?
- Combine multiple menus using the filter wp_nav_menu_items
- Menu and category highlighting for a single post
- WordPress Toggle Menu has stopped working
- How to add widget in main menu
- Language Switch Function
- Insert menu into theme location depending on user logged in/out status
- Adding custom field in menu options [duplicate]
- Modify sub_menu function to show pages below a specifically set page
- wp_nav_walker that interacts with widgets to setup mega menu
- Adding a filter with custom function to the menu / navigation
- How to add a class name to the ancestor of a post?
- Function Reference for custom link in Admin Menu Management Page
- How do I get my nav menu to show sub pages?
- Notice: Use of undefined constant REQUEST_URI – assumed ‘REQUEST_URI’ in ….functions.php on line 73
- Why don’t ‘wp_nav_menu’ CSS classes work until a menu is created?
- Call wordpress function through functions.php when pressing menu
- How to add more than one menu for logged in members?
- Check if post is being published for the first time, or is an already published post being updated
- Actions according to image type and size
- How do I get a child theme to load scripts from the parent theme?
- async javascript and css for wordpress
- What is the Difference in bones_comments() and comments.php
- Custom Sidebar only on single post
- Split Media Queries in different files!
- Changing the text of Upload/Insert on Posts and Pages Screen
- Trying to load JavaScript only on pages within a PODS category/ custom post type
- Functions.php in child theme that loads CSS file breaks website
- Change conditional tag in wordpress without editing the core files