Sync BuddyPress Profile Fields with PMPro using Register Helper
<?php | |
/** | |
* Based on the Register Helper example. | |
* We've added a "buddypress" option for each field | |
* set to the XProfile name we used when setting up | |
* the fields in the BuddyPress extended profile. | |
* If the PMPro BuddyPress Add On is activated | |
* then the fields will be synchronized. | |
* Register Helper: https://www.paidmembershipspro.com/add-ons/pmpro-register-helper-add-checkout-and-profile-fields/ | |
* PMPro BuddyPress: https://www.paidmembershipspro.com/add-ons/buddypress-integration/ | |
*/ | |
function my_pmprorh_init() { | |
// don't break if Register Helper is not loaded | |
if ( ! function_exists( 'pmprorh_add_registration_field' ) ) { | |
return false; | |
} | |
// define the fields | |
$fields = array(); | |
$fields[] = new PMProRH_Field( | |
'company', // input name, will also be used as meta key | |
'text', // type of field | |
array( | |
'buddypress' => 'Company', // XProfile Field Name <-- !!! | |
'label' => 'Company', // custom field label | |
'size' => 40, // input size | |
'class' => 'company', // custom class | |
'profile' => true, // show in user profile | |
'required' => true, // make this field required | |
) | |
); | |
$fields[] = new PMProRH_Field( | |
'name_of_product_or_service', // input name, will also be used as meta key | |
'text', // type of field | |
array( | |
'buddypress' => 'Name Of Product Or Service', // XProfile Field Name <-- !!! | |
'label' => 'Name Of Product Or Service', // custom field label | |
'class' => 'name_of_product_or_service', // custom class | |
'profile' => true, // show in user profile | |
'required' => true, // make this field required | |
) | |
); | |
$fields[] = new PMProRH_Field( | |
'website', // input name, will also be used as meta key | |
'text', // type of field | |
array( | |
'buddypress' => 'Website', // XProfile Field Name <-- !!! | |
'label' => 'Website', // custom field label | |
'size' => 80, // input size | |
'class' => 'website', // custom class | |
'profile' => true, // show in user profile | |
'required' => true, // make this field required | |
) | |
); | |
$fields[] = new PMProRH_Field( | |
'city', // input name, will also be used as meta key | |
'text', // type of field | |
array( | |
'buddypress' => 'City', // XProfile Field Name <-- !!! | |
'label' => 'City', // custom field label | |
'size' => 40, // input size | |
'class' => 'city', // custom class | |
'profile' => true, // show in user profile | |
'required' => true, // make this field required | |
) | |
); | |
$fields[] = new PMProRH_Field( | |
'state', // input name, will also be used as meta key | |
'text', // type of field | |
array( | |
'buddypress' => 'State', // XProfile Field Name <-- !!! | |
'label' => 'State', // custom field label | |
'size' => 40, // input size | |
'class' => 'state', // custom class | |
'profile' => true, // show in user profile | |
'required' => true, // make this field required | |
) | |
); | |
// add the fields into a new checkout_boxes are of the checkout page | |
foreach ( $fields as $field ) { | |
pmprorh_add_registration_field( | |
'checkout_boxes', // location on checkout page | |
$field // PMProRH_Field object | |
); | |
} | |
// that's it. see the PMPro Register Helper readme for more information and examples. | |
} | |
add_action( 'init', 'my_pmprorh_init' ); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This comment has been minimized.
would it be weird to say, "Thank you, I love you for this." ?