Clash with MiniOrange OAuth plugin breaks CiviCRM Admin menu
CiviCRM uses a $_REQUEST['code'] parameter when building the CiviCRM navigation menu in wordpress. Unfortunately, so does the MiniOrange OAuth plugin for MS Azure integration, and the clash means that the Civi menu loses out and the menu doesn't get rendered.
This could be fixed in Civi core, or in the MiniOrange plugin, but both of these are resource hungry in both locating and fixing and the processes to get it integrated.
A civi extension, however, can unset[$_REQUEST['code']; in hook_civicrm_config().
Many thanks go to @pradeep :)