This drove me a bit nuts. I figured out how to do it though and it’s very easy.
With buddypress installed it takes over the registration entirely and ads this activation email which is outside the normal header load so it;s outside of the functions.php call include.
The way I got it to work was by adding a call to the welcome email action after the do_action( ‘bp_after_activation_page’ ); in plugins/buddypress/bp-themes/bp-default/registration/activation.php file.
Near the end of the file you see this.
do_action( ‘bp_after_activation_page’ );
Add the following
do_action( ‘welcome_email’ );
Now this may work because I am using a plugin to modify the welcome email to begin with. I am using SB Welcome Email Editor
As for why someone would need to send the user their id and password. I needed this because people can sign up using a name with spaces but the id is created with a dash in place of spaces so they may never know their id isn’t what they saved it as. I also added a condition on the id entry to force them to not use spaces but I like to cover all bases and let them know what they signed up with.