Diagnosis

Theme/Plugin is loading conflicting javascript (admin screens)

0

When other plugins/themes load their javascript on pages that aren’t their own, they can break things.

Background

UberMenu’s Control Panel requires javascript to run. Because of the nature of javascript, other javascript on the page can break UberMenu’s functionality functionality. This is why no plugin or theme should ever load javascript or CSS on any admin page other than its own.

The Problem

No plugin or theme should be loading any assets on the UberMenu Control Panel page – but when they don’t follow best practices, and include their scripts where they don’t belong, it can break UberMenu.

UberMenu 2 sidenote: Some themes/plugins will even load their own colorpicker script – which won’t produce a javascript error, but will prevent UberMenu’s color picker from functioning properly.

Identifying the issue

On the UberMenu Control Panel, open your javascript console in Chrome ( View > Developer > Javascript Console ). If there are errors, this is likely your problem.

You may need to enable SCRIPT_DEBUG in your wp-config.php in order to identify the source of the issue.

UberMenu 2-specific

If you don’t see any errors, then check for an additional colorpicker script being loaded – search your HTML for “colorpicker.js” for example. You’ll see one whose source has the path plugins/ubermenu/… . If there is a second one with a different path, the plugin or theme loading that colorpicker script is the issue.

Solution

Plugins and themes should only ever load assets on their own admin pages. Any theme or plugin that is breaking this rule needs to be updated. You should contact your theme/plugin author and alert them to this issue. Here is the official WordPress Codex article on Linking scripts only on a plugin/theme administration screen.

If a plugin is causing the issue, you can disable that plugin and use the Style Generator until the author fixes the plugin.

Unfortunately, there is nothing UberMenu can do to stop other plugins/themes from loading their assets improperly, so the fix has to come from those authors.