There are several ways to remove or hide your primary and secondary navigation menus using the Genesis framework in WordPress.
The easy way is to hook into the execution via an action and remove the action responsible for the menu. To prevent the navigation menus from disappearing on all pages, a check is made beforehand to determine on which page the execution is currently taking place.
Remove primary navigation menu from home page
add_action('get_header', 'cw_child_remove_genesis_do_nav');
function cw_child_remove_genesis_do_nav() {
if (is_home()) {
remove_action('genesis_before_header', 'genesis_do_nav');
}
}
If the primary navigation menu is included after the header, instead of genesis_before_header, genesis_after_header is used with remove_action (code line 4).
Sometimes it is also necessary to specify a priority parameter, as in the case of the genesis-sample-theme, if the action was registered with a priority. Line 4 then looks like this:
remove_action('genesis_header', 'genesis_do_nav', 12);
And already it works with the sample theme from Genesis.
Remove secondary navigation menu from home page
add_action('get_header', 'cw_child_remove_genesis_do_subnav');
function cw_child_remove_genesis_do_subnav() {
if (is_home()) {
remove_action('genesis_after_header', 'genesis_do_subnav');
}
}
Remove primary navigation menu from a specific page
First, the ID of the page or post must be known. You can see them in the URL of the edit dialog of the page.

The code to remove the main menu from the page with ID 7 looks like this:
function cw_remove_genesis_do_nav() {
if (is_page(7) ) {
remove_action('genesis_after_header', 'genesis_do_nav');
}
}
add_action('get_header', 'cw_remove_genesis_do_nav');