Created
September 8, 2020 19:03
-
-
Save kimcoleman/24d8207e01560294afc6777d0f23cde8 to your computer and use it in GitHub Desktop.
Adds Billing Address and Shipping Address (via the Shipping Add On) to the Edit User profile, frontend Member Profile Edit, and the Add Member Admin page.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/* | |
* Adds Billing Address and Shipping Address (via the Shipping Add On) to the Edit User profile, | |
* frontend Member Profile Edit, and the 'Add Member' page in the WordPress admin. | |
* | |
* You can add this recipe to your site by creating a custom plugin | |
* or using the Code Snippets plugin available for free in the WordPress repository. | |
* Read this companion article for step-by-step directions on either method. | |
* https://www.paidmembershipspro.com/create-a-plugin-for-pmpro-customizations/ | |
* | |
*/ | |
function add_billing_shipping_fields_to_profile_and_add_member() { | |
//check for register helper | |
if ( ! function_exists( 'pmprorh_add_registration_field' ) ) { | |
return; | |
} | |
//define the fields | |
$fields = array(); | |
// Billing Address fields added to profile (true) and addmember (true). | |
$fields[] = new PMProRH_Field( 'pmpro_baddress1', 'text', array( 'label' => 'Billing Address 1', 'size' => 40, 'profile' => true, 'required' => false, 'addmember' => true ) ); | |
$fields[] = new PMProRH_Field( 'pmpro_baddress2', 'text', array( 'label' => 'Billing Address 2', 'size' => 40, 'profile' => true, 'required' => false, 'addmember' => true ) ); | |
$fields[] = new PMProRH_Field( 'pmpro_bcity', 'text', array( 'label' => 'Billing City', 'size' => 40, 'profile' => true, 'required' => false, 'addmember' => true ) ); | |
$fields[] = new PMProRH_Field( 'pmpro_bstate', 'text', array( 'label' => 'Billing State', 'size' => 10, 'profile' => true, 'required' => false, 'addmember' => true ) ); | |
$fields[] = new PMProRH_Field( 'pmpro_bzipcode', 'text', array( 'label' => 'Billing Postal Code', 'size' => 10, 'profile' => true, 'required' => false, 'addmember' => true ) ); | |
$fields[] = new PMProRH_Field( 'pmpro_bcountry', 'text', array( 'label' => 'Billing Country', 'profile '=>true, 'required' => false, 'addmember' => true)); | |
$fields[] = new PMProRH_Field( 'pmpro_bphone', 'text', array( 'label' => 'Billing Phone', 'size' => 40, 'profile' => true, 'required' => false, 'addmember' => true ) ); | |
// Shipping Address fields added to addmember (true). These fields are already shown on profile by the Add On. | |
$fields[] = new PMProRH_Field( 'pmpro_saddress1', 'text', array( 'label' => 'Shipping Address 1', 'size' => 40, 'required' => false, 'addmember' => true)); | |
$fields[] = new PMProRH_Field( 'pmpro_saddress2', 'text', array( 'label' => 'Shipping Address 2', 'size' => 40, 'required' => false, 'addmember' => true)); | |
$fields[] = new PMProRH_Field( 'pmpro_scity', 'text', array( 'label' => 'Shipping City', 'size' => 40, 'required' => false, 'addmember' => true)); | |
$fields[] = new PMProRH_Field( 'pmpro_sstate', 'text', array( 'label' => 'Shipping State', 'size' => 10, 'required' => false, 'addmember' => true ) ); | |
$fields[] = new PMProRH_Field( 'pmpro_szipcode', 'text', array( 'label' => 'Shipping Postal Code', 'size' => 10, 'required' => false, 'addmember' => true)); | |
$fields[] = new PMProRH_Field( 'pmpro_scountry', 'text', array( 'label' => 'Shipping Country', 'required' => false, 'addmember' => true)); | |
$fields[] = new PMProRH_Field( 'pmpro_sphone', 'text', array( 'label' => 'Shipping Phone', 'size' => 40, 'required' => false, 'addmember' => true)); | |
// Add the fields into the profile. | |
foreach ( $fields as $field ) { | |
pmprorh_add_registration_field( 'profile', $field ); | |
} | |
} | |
add_action( 'init', 'add_billing_shipping_fields_to_profile_and_add_member' ); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment