Menu does not appear unless in debugging mode in wordpress
JavaScript for the menu bar is served up from two different places, depending on your debug setting. So good job tracking down that difference.


in debug mode it is served from a dynamic script which is slower, but doesn't rely on the file system.
in regular mode, the script is cached in a file. If you're CiviCRM files directory is incorrectly configured, or inaccessible due to permission problems on your server, then it will not load. FYI all Angular-based pages (e.g. CiviMail) rely on this file caching as well, so they too will be broken.


I recommend you double-check your system settings for file directories and resource URLs, and also ensure those directories are publicly readable on your server.