The Genesis Framework includes a primary and a secondary navigation (or nav), which are the two main menu bars that usually display between the site header and the main content area.
Your Genesis child theme has the power to register more nav menu locations either in addition to or instead of the two built in ones, use only one of the two built in locations (usually the primary nav) or remove navigation menus altogether.
The basic code to register menu locations is below. You can register as many or as few menu locations as you like.
secondary are built in menu locations, but you still need to include them in your theme support if you want to keep them. Just replace
footer with your desired IDs and the respective ‘friendly’ names with your desired names for your custom menu locations.
Default Menu Locations
The way this theme support system works is that if you do not include any theme support declaration in your child theme, the two built in menu locations are automatically registered. The built in menu locations are the primary navigation menu (its ID is
primary) and the secondary navigation menu (its ID is
You can choose to register just one of the two built in menu locations:
Remove All Menu Locations
Since not including any theme support declaration in your child theme will automatically register the default menu locations, you can remove the default menu locations by using the following code:
Registering a new menu location using the code above will enable you to assign a menu to your new location via your admin area or Customizer. However, (except in the case of the two built in menu locations), it will NOT output the menu on your website. To do this, you can use the function
The theme support
genesis-menus is located in lib/structure/menu.php.
- How to Produce a Custom Navigation Menu with Genesis
- How to Move, Rewrite or Remove the Primary Navigation with Genesis
- How to Move, Rewrite or Remove the Secondary Navigation with Genesis
Relevant tutorials from the Genesis community.