1. One way to achieve this would be to overload the BuddyPress register page and replace the current section that adds the username with code that populates this field from the username field.
2. Not sure about that one, I take it this is being added by a plugin? if it’s creating an xprofile field then by default it will show up in profile, unless set to not be shown by the user. There’s a couple of options I think, either add some code to force this to not be displayed or else overload the profile page and set it up to display the profile fields you want to display.
1. How to do this?
2. This is not done with a plugin. I just added a new field under Profile Field in Users in WordPress dashboard. How to do this?
1. take a look at this page, it shows the general principles https://codex.buddypress.org/themes/theme-compatibility-1-7/template-hierarchy/ also you can look at the BP Template Overloader plugin, it’s designed to make this process more accessible.
Basically you create a buddypress directory in your child theme directory and replicate the directory path to the buddypress/members/register.php
file.
Regarding 2, how did you do that? I’ve not got it as an option, I’m aware there’s plugin that added a TOS checkbox, not seen it done directly from the xProfile fields.
But if you did add it as a xProfile field, BP will by default show it in the profile page if the user has set it to publicly visible.
you might like to check out that plugin, I don’t think it uses xProfile fields: BuddyPress Simple Terms And Conditions