Some themes will interfere with UberMenu, and this can occur in a variety of ways.
Residual Styling
Most commonly, a theme’s menu styles may be written in such a way that they apply to UberMenu after UberMenu has been activated and replaced the theme menu. 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.
Residual Scripting
Residual scripting is closely related to residual styling, except it is javascript interfering with the menu rather than CSS. If your third level items disappear after hovering over the column headers and out again, you likely have residual scripting (your theme is trying to make the menu work like a flyout menu). This can be more complex, but generally Manual Integration will also resolve this issue. Tracking down the source of the scripting can be a bit more difficult than with residual styling.
Class filtering
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.
Resolving Theme Interference
Please see the Resolving Theme Interference Guide for information on how to fix the above issues should they arise.