JumpStart (ThemeBlvd)

Knowledgebase Docs » UberMenu 3
USEFUL? 2
UberMenu 3

Replacing JumpStart’s navigation with UberMenu is nice and easy because JumpStart provides a pluggable function, themeblvd_header_menu_default

Therefore, to manually integrate UberMenu and avoid any interference from the theme, we can just override that function and use the UberMenu Manual Integration code as the body of the function.

/* Add in child theme functions.php to replace JumpStart nav with UberMenu */
function themeblvd_header_menu_default(){
	ubermenu( 'main' , array( 'theme_location' => 'primary' ) );
}

You would ideally add this code in your child theme’s functions.php

That would be the standard code for adding the primary theme location’s menu using the main configuration, however, you could replace the manual integration code with your custom code instead if you wanted to use a different configuration or theme location/menu.

In Jumpstart 2.0, you’ll also want to remove the responsive toggle from the theme, which you can do by adding this in your functions.php as well

/* Remove responsive toggle */
function themeblvd_responsive_menu_toggle(){}

Important Note on using the included Jumpstart Demos

If you are using one of the included Jumpstart demos, such as Agent, the code for these may unhook the default pluggable function. For example, Agent does this:

remove_action('themeblvd_header_menu', 'themeblvd_header_menu_default');

and then defines its own menu function. As a result, the pluggable function override above will do nothing, since that function is no longer in use by the theme.

In that case, what you can do is unhook the demo theme’s action and replace it with UberMenu like this:

/* Add in child theme functions.php to replace JumpStart nav with UberMenu */
add_action( 'wp' , 'um_replace_theme_menu' );
function um_replace_theme_menu(){
	remove_action('themeblvd_header_addon', 'jumpstart_ag_header_menu');
	add_action( 'themeblvd_header_addon', 'themeblvd_header_uber' );
}
function themeblvd_header_uber(){
    ubermenu( 'main' , array( 'theme_location' => 'primary' ) );
}

Note that the 'jumpstart_ag_header_menu' callback is likely going to change based on your chosen “demo”. This example is for “Agent”