Oblivion by SkyWarrior introduces major residual styling (see also: residual styling troubleshooting guide) and residual scripting from the theme, which breaks UberMenu.
1. Remove Residual Styling
To remove the residual styling, we need to edit `header.php`. You’ll find the NAVBAR section
<!-- NAVBAR
================================================== -->
<div class="navbar navbar-inverse <?php if ( of_get_option('fullwidth') ) { }else{ ?>container<?php } ?>">
<div class="navbar-inner<?php if ( of_get_option('fullwidth') ) { ?> container<?php } ?>">
<button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<div class="nav-collapse collapse">
<?php wp_nav_menu( array( 'theme_location' => 'header-menu', 'depth' => 0,'sort_column' => 'menu_order', 'items_wrap' => '<ul class="nav">%3$s</ul>' ) ); ?>
<!-- If woocommerce -->
<?php if ($woocommerce) { if(is_woocommerce()){ ?>
<div class="cart-outer">
<div class="cart-menu-wrap">
<div class="cart-menu">
<a class="cart-contents" href="<?php echo $woocommerce->cart->get_cart_url(); ?>"><div class="cart-icon-wrap"><i class="icon-shopping-cart"></i> <div class="cart-wrap"><span><?php echo $woocommerce->cart->cart_contents_count; ?> </span></div> </div></a>
</div>
</div>
<div class="cart-notification">
<span class="item-name"></span> <?php echo __('was successfully added to your cart.'); ?>
</div>
<?php
// Check for WooCommerce 2.0 and display the cart widget
if ( version_compare( WOOCOMMERCE_VERSION, "2.0.0" ) >= 0 ) {
the_widget( 'WC_Widget_Cart', 'title= ' );
} else {
the_widget( 'WooCommerce_Widget_Cart', 'title= ' );
}
?>
</div>
<?php }} ?>
<!-- Endif woocommerce -->
<?php if (of_get_option('login_menu')){ ?>
<a href="#myModalL" role="button" data-toggle="modal" class="account"><img src="<?php echo get_template_directory_uri(); ?>/img/account.png"></a>
<?php } ?>
<form method="get" id="header-searchform" action="<?php echo esc_url( home_url( '/' ) ); ?>">
<input type="text" autocomplete="off" value="" name="s" id="header-s">
<input type="submit" id="header-searchsubmit" value="Search">
<input type="hidden" name="post_type[]" value="portfolio" />
<input type="hidden" name="post_type[]" value="post" />
<input type="hidden" name="post_type[]" value="page" />
</form>
</div><!--/.nav-collapse -->
</div><!-- /.navbar-inner -->
</div><!-- /.navbar -->
We need to remove all of that and just use
<?php wp_nav_menu( array( 'theme_location' => 'header-menu' ) ); ?>
Once we do that, the menu will expand to the full width of the window, so we need to go to UberMenu > Advanced Settings and set the Menu Bar Width to 1170
Next, we need to make sure the content area clears the menu properly, so we add this CSS ( Adding Custom CSS ).
#sliderhome, .normal-page{
clear:both;
}
2. Remove Residual Scripting
This script in the theme’s global.js adds scripting and styling to the menu that breaks the UberMenu functionality (around line 66):
//dropdown script
jQuery(document).ready(
function() {
var submenu = jQuery("ul.sub-menu");
submenu.parent().addClass('dropdown');
submenu.addClass('dropdown-menu');
var submenu1 = jQuery("dropdown-menu.children");
submenu1.parent().addClass('dropdown');
submenu1.addClass('dropdown-menu');
var children = jQuery("dropdown-menu.children");
children.parent().addClass('dropdown');
var menuul = jQuery(".menu ul");
menuul.parent().addClass('dropdown');
var child = jQuery(".dropdown .dropdown-menu");
child.removeClass("children");
var link = jQuery(".dropdown > a");
link.append('<b class="caret"></b>');
children.hover(
function(){
jQuery(this).parent().addClass('active');
}, function(){
jQuery(this).parent().removeClass('active');
}
);
submenu.hover(
function(){
jQuery(this).parent().addClass('active');
}, function(){
jQuery(this).parent().removeClass('active');
}
);
var menu = jQuery(".menu ul");
menu.addClass('nav');
submenu1.removeClass("nav");
}
);
Unfortunately, this script is too generically written (.sub-menu) to be easily deactivated. So it has to be manually removed from the javascript file. If this were based on a class like .navbar .sub-menu, then we wouldn’t have to actually edit the javascript file to prevent it from breaking the menu.
3. Adjust z-index
Finally, we need to adjust the z-index to layer the menu over the slider properly so that the submenus don’t get obstructed.
#megaMenu{
position:relative;
z-index:100;
margin-bottom:20px;
}
#sliderhome{
position:relative;
z-index:90;
}
.normal-page{
position:relative;
z-index:80;
}