Hi, I realize this is an old thread. However, I thought of posting my solution, just in case someone finds it helpful. (tried posting it three times.., it just disappears from here)
Solution:
1. Copy the the contents of the bp-templates/bp-legacy/buddypress/members/register.php into the new registration page template
2. At this point, the registration form will show up, but nothing will happen when we submit the form.
3. To solve that, we need to add a custom function to the “bp_screen” hook. In the custom function, we will paste the contents of the “bp_core_screen_signup” function. (located in bp-members/bp-members-screens.php)
4. Then, in our custom function, we will remove this
if ( ! bp_is_current_component( 'register' ) || bp_current_action() )
return;
and put this
if ( !is_page( 'your-page-slug' ) || bp_current_action() )
return;
5. Next, we’ll remove these lines bp_core_load_template( apply_filters( 'bp_core_template_register', array( 'register', 'registration/register' ) ) );
It will work now.
Here is the pastebin of the custom function created in bp-custom.php