I am trying to duplicate the navigation for profile pages (activity, profile, messages, friends, ect.) for my theme. I managed to get everything set up using the global variable $bp with $bp->bp_nav and bp->bp_options_nav in foreach loops. However, it seems that the messages navigation along with its sub navigation doesn’t work outside the profile page while the other navigation parts work fine across my wordpress. I did some soul searching with the plugin and found that removing if ( ! bp_is_my_profile() ) return; lines from bp-messages-loader.php does enable access to the messages array values in $bp. I am not sure if this is necessarily a bug or a security precaution or whatever.
Is there a more efficient way to get each navigation values or accessing the data through the global variable truly the best way to go? I personally detest abusing global variables for such madness, but it does get the job done quickly.