Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save femiyb/9b028caa92cdf1bd5f579c8ba0e619a1 to your computer and use it in GitHub Desktop.
Save femiyb/9b028caa92cdf1bd5f579c8ba0e619a1 to your computer and use it in GitHub Desktop.
Use PMPro Register Helper to add PMPro Billing Address fields to the edit user page
<?php
/**
* Use PMPro Register Helper to add PMPro Billing Address fields to the edit user page.
*/
/**
* show_pmpro_address_fields_on_edit_profile Grabs the values from the billing fields which get filled in during checkout and displays on User Profile.
*
* @return array Array of Register Helper field objects
*/
function show_pmpro_address_fields_on_edit_profile() {
// Require PMPro and PMPro Register Helper
if ( ! defined( 'PMPRO_VERSION' ) || ! defined( 'PMPRORH_VERSION' ) ) {
return;
}
// List the fields you want to include
$address_fields = array(
'pmpro_bfirstname' => 'First Name',
'pmpro_blastname' => 'Last Name',
'pmpro_baddress1' => 'Address 1',
'pmpro_baddress2' => 'Address 2',
'pmpro_bcity' => 'City',
'pmpro_bstate' => 'State',
'pmpro_bzipcode' => 'Zipcode',
'pmpro_bphone' => 'Phone',
);
// Define the fields
$fields = array();
foreach ( $address_fields as $name => $label ) {
$fields[] = new PMProRH_Field(
$name,
'text',
array(
'label' => $label,
'size' => 40,
'profile' => true,
'addmember' => true,
)
);
}
// Add new checkout box with label
pmprorh_add_checkout_box( 'billing_mailing_address', 'Billing/Mailing Address' );
// Add fields into a new checkout_boxes area of checkout page
foreach ( $fields as $field ) {
pmprorh_add_registration_field(
'billing_mailing_address', // location on checkout page
$field // PMProRH_Field object
);
}
}
add_action( 'init', 'show_pmpro_address_fields_on_edit_profile' );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment