Skip to content

Instantly share code, notes, and snippets.

@andrewlimaza
Last active March 26, 2019 20:46
Show Gist options
  • Save andrewlimaza/4463f1fbd99d944543890521dc1e5eff to your computer and use it in GitHub Desktop.
Save andrewlimaza/4463f1fbd99d944543890521dc1e5eff to your computer and use it in GitHub Desktop.
Change location where Register Helpers are shown depending if user is logged in or not for Paid Memberships Pro.
<?php
// Show the custom Register Helper Fields in a different location if the user is logged in.
function my_pmprorh_init()
{
//don't break if Register Helper is not loaded
if(!function_exists( 'pmprorh_add_registration_field' )) {
return false;
}
if( is_user_logged_in() ) {
$location = 'checkout_boxes';
}else{
$location = 'after_email';
}
//define the fields
$fields = array();
$fields[] = new PMProRH_Field(
'company', // input name, will also be used as meta key
'text', // type of field
array(
'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(
'referral', // input name, will also be used as meta key
'text', // type of field
array(
'label' => 'Referral Code', // custom field label
'profile' => 'only_admin' // only show in profile for admins
)
);
$fields[] = new PMProRH_Field(
'gender', // input name, will also be used as meta key
'select', // type of field
array(
'options' => array( // <option> elements for select field
'' => '', // blank option - cannot be selected if this field is required
'male' => 'Male', // <option value="male">Male</option>
'female'=> 'Female' // <option value="female">Female</option>
),
'profile' => true
)
);
//add the fields into a new checkout_boxes are of the checkout page
foreach($fields as $field)
pmprorh_add_registration_field(
$location, // 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