Adding a top navigationn menu to a Genesis child theme is quite easy. There are a couple of approaches. First, one can simply move the primary navigation to the top.
|/** Reposition the primary navigation */|
|remove_action( 'genesis_after_header', 'genesis_do_nav' );|
|add_action( 'genesis_before', 'genesis_do_nav' );|
Howevever, if you are already using the primary navigation, this may not work for you and a different approach may be necessary.
The approach depends on what menus you are currently using (e.g., using both primary and secondary or just primary with secondary not registered, etc). You would need to first, register the menu and second, then, output the menu.
Register the Menu
First locate something like the following in your functions.php file.
If you don’t then, you have the default Genesis setup. This is the same as having the following in your functions.php file.
So you have two options:
- If not using the secondary navigation, you can use secondary navigation as the top menu
- Create a new top menu navigation system
Use Secondary Navigation as Top Menu
|/** Reposition the secondary navigation */|
|remove_action( 'genesis_after_header', 'genesis_do_subnav' );|
|add_action( 'genesis_before', 'genesis_do_subnav' );|
Create Top Navigation
To create a new navigation system, you need to do the following in your functions.php:
This will add a menu system of Top that you can find in Appearance > Menus. If you just want primary and top, remove the secondary menu from the middle.
Output the Menu
Finally, you will need to output the menu.
This will output your top navigation the same as you output your primary navigation with all references to