Some themes will interfere with UberMenu, and this can occur in a variety of ways.
Most commonly, a theme’s menu styles may be written in such a way that they apply to UberMenu after UberMenu has been activated. This interferes with UberMenu’s functionality and can cause anything from slight layout issues to total malfunction. This is known as residual styling and is most commonly resolved through the use of Manual Integration to prevent the theme’s styles from applying to the new menu.
Some themes use PHP filters to strip out the core WordPress menu item classes. This is fine if they want to modify their own menus, but it is very bad practice if these filters apply to any menu, rather than just limiting the filters to the menus controlled by the theme. This generally results in total menu malfunction (often nearly completely unstyled). Because the menu item classes aren’t present in the markup, UberMenu’s CSS has no elements to apply to, so the menu is basically unstyled, causing a mess.
Generally, this can be resolved by checking the Disable Menu Item Class Filtering setting in the UberMenu Control Panel > General > Miscellaneous.
In more complex scenarios, you may need to remove the filter via
remove_filter in a child theme.
This setting is disabled by default, because there are some plugins that you would want to be able to filter your menu item classes (these plugins only add classes, they don’t strip out core functionality).
Menu argument filtering
Some themes (or other menu plugins) will override UberMenu’s menu arguments. What this means is that they can change anything from the classes that appear in UberMenu’s menu bar, to taking over complete control of the menu generation. In these cases, UberMenu is no longer in control of the menu, and anything might happen.
To combat this, you can enable the Force Filter UberMenu Settings setting in the UberMenu Control Panel > General Settings > Miscellaneous.
This will attempt to override the theme’s override and take back control from the theme.
This setting is disabled by default because it requires re-running the UberMenu argument generation code, and is therefore slightly less efficient. To optimize your efficiency, remove the filters from your theme instead of trying to override them this way.