Forked from kimwhite/my-pmpro-custom-fields.php
Last active
October 27, 2022 19:50
-
-
Save kerijacoby/4e3c254a017b8ba07375578480ec9b37 to your computer and use it in GitHub Desktop.
NRGSCapps Custom Registration Fields
This file contains 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 // do not copy this line. | |
/** | |
* This recipe creates custom fields for your PMPro checkout page. | |
* | |
* 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 my_pmprorh_custom_fields() { | |
// 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( | |
'birthday›', // input field name, used as meta key | |
'date', // field type | |
array( | |
'label' => 'Your Birthday', // field label | |
'profile' => true, // show on profile | |
'memberslistcsv' => true, // include when using export members to csv | |
'addmember' => true, // include when using add member from admin | |
'required' => true, // make field required | |
) | |
); | |
// TEXT FIELD | |
$fields[] = new PMProRH_Field( | |
'spouse_name', // input field name, used as meta key | |
'text', // field type | |
array( | |
'label' => 'Spouse/Partner Name *If you are a single parent list a child here', // display custom label, if not used field name will be used | |
'levels' => array( 2 ), // levels to display field for | |
'profile' => true, // show on profile | |
'memberslistcsv' => true, // include when using export members to csv | |
'addmember' => true, // include when using add member from admin | |
'required' => true, // make field required | |
) | |
); | |
$fields[] = new PMProRH_Field( | |
'spouse_birthday', // input field name, used as meta key | |
'date', // field type | |
array( | |
'label' => 'Spouse/Partner Birthday', // field label | |
'levels' => array( 2 ), // levels to display field for | |
'profile' => true, // show on profile | |
'memberslistcsv' => true, // include when using export members to csv | |
'addmember' => true, // include when using add member from admin | |
'required' => false, // make field required | |
'class' => 'css_class_name', // custum class for input field | |
'divclass' => 'css_class_name_for_div', // custom class for container div | |
) | |
); | |
// Additional Family #1 | |
$fields[] = new PMProRH_Field( | |
'family1_name', // input field name, used as meta key | |
'text', // field type | |
array( | |
'label' => 'Family Member #1 Name', // display custom label, if not used field name will be used | |
'levels' => array( 2 ), // levels to display field for | |
'profile' => true, // show on profile | |
'memberslistcsv' => true, // include when using export members to csv | |
'addmember' => true, // include when using add member from admin | |
'required' => false, // make field required | |
'class' => 'family_name', // custum class for input field | |
'divclass' => 'family_name', // custom class for container div | |
) | |
); | |
$fields[] = new PMProRH_Field( | |
'family1_birthday', // input field name, used as meta key | |
'date', // field type | |
array( | |
'label' => 'Family Member #1 Birthday', // field label | |
'levels' => array( 2 ), // levels to display field for | |
'profile' => true, // show on profile | |
'memberslistcsv' => true, // include when using export members to csv | |
'addmember' => true, // include when using add member from admin | |
'required' => false, // make field required | |
'class' => 'family_bday', // custum class for input field | |
'divclass' => 'family_bday', // custom class for container div | |
) | |
); | |
// End Additional Family #1 | |
// Additional Family #2 | |
$fields[] = new PMProRH_Field( | |
'family2_name', // input field name, used as meta key | |
'text', // field type | |
array( | |
'label' => 'Family Member #2 Name', // display custom label, if not used field name will be used | |
'levels' => array( 2 ), // levels to display field for | |
'profile' => true, // show on profile | |
'memberslistcsv' => true, // include when using export members to csv | |
'addmember' => true, // include when using add member from admin | |
'required' => false, // make field required | |
'class' => 'family_name', // custum class for input field | |
'divclass' => 'family_name', // custom class for container div | |
) | |
); | |
$fields[] = new PMProRH_Field( | |
'family2_birthday', // input field name, used as meta key | |
'date', // field type | |
array( | |
'label' => 'Family Member #2 Birthday', // field label | |
'levels' => array( 2 ), // levels to display field for | |
'profile' => true, // show on profile | |
'memberslistcsv' => true, // include when using export members to csv | |
'addmember' => true, // include when using add member from admin | |
'required' => false, // make field required | |
'class' => 'family_bday', // custum class for input field | |
'divclass' => 'family_bday', // custom class for container div | |
) | |
); | |
// Additional Family #3 | |
$fields[] = new PMProRH_Field( | |
'family3_name', // input field name, used as meta key | |
'text', // field type | |
array( | |
'label' => 'Family Member #3 Name', // display custom label, if not used field name will be used | |
'levels' => array( 2 ), // levels to display field for | |
'profile' => true, // show on profile | |
'memberslistcsv' => true, // include when using export members to csv | |
'addmember' => true, // include when using add member from admin | |
'required' => false, // make field required | |
'class' => 'family_name', // custum class for input field | |
'divclass' => 'family_name', // custom class for container div | |
) | |
); | |
$fields[] = new PMProRH_Field( | |
'family3_birthday', // input field name, used as meta key | |
'date', // field type | |
array( | |
'label' => 'Family Member #3 Birthday', // field label | |
'levels' => array( 2 ), // levels to display field for | |
'profile' => true, // show on profile | |
'memberslistcsv' => true, // include when using export members to csv | |
'addmember' => true, // include when using add member from admin | |
'required' => false, // make field required | |
'class' => 'family_bday', // custum class for input field | |
'divclass' => 'family_bday', // custom class for container div | |
) | |
); | |
// End Additional Family #3 | |
// Additional Family 4 | |
$fields[] = new PMProRH_Field( | |
'family4_name', // input field name, used as meta key | |
'text', // field type | |
array( | |
'label' => 'Family Member #4 Name', // display custom label, if not used field name will be used | |
'levels' => array( 2 ), // levels to display field for | |
'profile' => true, // show on profile | |
'memberslistcsv' => true, // include when using export members to csv | |
'addmember' => true, // include when using add member from admin | |
'required' => false, // make field required | |
'class' => 'family_name', // custum class for input field | |
'divclass' => 'family_name', // custom class for container div | |
) | |
); | |
$fields[] = new PMProRH_Field( | |
'family4_birthday', // input field name, used as meta key | |
'date', // field type | |
array( | |
'label' => 'Family Member #4 Birthday', // field label | |
'levels' => array( 2 ), // levels to display field for | |
'profile' => true, // show on profile | |
'memberslistcsv' => true, // include when using export members to csv | |
'addmember' => true, // include when using add member from admin | |
'required' => false, // make field required | |
'class' => 'family_bday', // custum class for input field | |
'divclass' => 'family_bday', // custom class for container div | |
) | |
); | |
// ONE day pass FIELD | |
$fields[] = new PMProRH_Field( | |
'member_host_name', // input field name, used as meta key | |
'text', // field type | |
array( | |
'label' => 'Name of the NRGSC Member who is your host for the day', // display custom label, if not used field name will be used | |
'levels' => array( 3 ), // levels to display field for | |
'profile' => true, // show on profile | |
'memberslistcsv' => true, // include when using export members to csv | |
'addmember' => true, // include when using add member from admin | |
'required' => true, // make field required | |
) | |
); | |
// CHECKBOX | |
$fields[] = new PMProRH_Field( | |
'renewing_member', // input field name, used as meta key | |
'checkbox', // field type | |
array( | |
'label' => 'Check this box if you are a renewing member', | |
'levels' => array( 1, 2 ), // levels to show this field | |
'profile' => true, | |
'memberslistcsv' => true, | |
'addmember' => true, | |
) | |
); | |
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_custom_fields' ); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment