Skip to content

Instantly share code, notes, and snippets.

@kimwhite
Last active October 27, 2022 19:47
Show Gist options
  • Save kimwhite/8d0a4cf8f0927c0f29797c19f316f2bf to your computer and use it in GitHub Desktop.
Save kimwhite/8d0a4cf8f0927c0f29797c19f316f2bf to your computer and use it in GitHub Desktop.
NRGSCapps Custom Registration Fields
<?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' => '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 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' => true, // make field required
)
);
$fields[] = new PMProRH_Field(
'spouse_birthday', // input field name, used as meta key
'date', // field type
array(
'label' => 'Spouse 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' => true, // 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
// ONE day pass FIELD
$fields[] = new PMProRH_Field(
'supporting_member', // input field name, used as meta key
'text', // field type
array(
'label' => 'Supporting Member Name', // 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
)
);
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