-
-
Save andrewlimaza/3a73d143e06bc1fdec2a0c5102b4fed5 to your computer and use it in GitHub Desktop.
<?php | |
/** | |
* This example is to show you the 'niche' options each Paid Memberships Pro - Register Helper Add-on field can take and how to use it. | |
* For more information on the Register Helper Add-on please visit https://www.paidmembershipspro.com/add-ons/free-add-ons/pmpro-register-helper-add-checkout-and-profile-fields/ | |
**/ | |
function my_pmprorh_init() | |
{ | |
//don't break if Register Helper is not loaded | |
if(!function_exists("pmprorh_add_registration_field")) | |
{ | |
return false; | |
} | |
//define the fields | |
$fields = array(); | |
// TEXT FIELD | |
$fields[] = new PMProRH_Field( | |
"text_example", // input name, will also be used as meta key | |
"text", // type of field | |
array( | |
"size" => 20 // size attribute of text field | |
) | |
); | |
// TEXTAREA | |
$fields[] = new PMProRH_Field( | |
"textarea_example", // input name, will also be used as meta key | |
"textarea", // type of field | |
array( | |
"rows" => 10, // row attribute of textarea (height) | |
"cols" => 50, // cols attribute of textarea (width) | |
) | |
); | |
// SELECT | |
$fields[] = new PMProRH_Field( | |
"select_example", // input name, will also be used as meta key | |
"select", // type of field | |
array( | |
"multiple" => true, //allow multiple selections for select | |
"options" => array( | |
"" => "", // blank option to be displayed first, followed by options | |
"option_1" => "Option 1", | |
"option_2" => "Option 2", | |
"option_3" => "Option 3", | |
) | |
) | |
); | |
// SELECT2 | |
$fields[] = new PMProRH_Field( | |
"select_2_example", // input name, will also be used as meta key | |
"select2", // type of field | |
array( | |
"options" => array( | |
"" => "", // blank option to be displayed first, followed by options | |
"option_1" => "Option 1", | |
"option_2" => "Option 2", | |
"option_3" => "Option 3", | |
) | |
) | |
); | |
// CHECKBOX | |
$fields[] = new PMProRH_Field( | |
"checkbox_example", // input name, will also be used as meta key | |
"checkbox", // type of field | |
array( | |
"text" => "Check this" // string for <label></label> | |
) | |
); | |
// RADIO | |
$fields[] = new PMProRH_Field( | |
"radio_example", // input name, will also be used as meta key | |
"radio", // type of field | |
array( | |
"options" => array( // display the different options, no need for a "blank" option | |
"option_1" => "Option 1", | |
"option_2" => "Option 2", | |
"option_3" => "Option 3", | |
) | |
) | |
); | |
// FILE | |
$fields[] = new PMProRH_Field( | |
"file_example", // input name, will also be used as meta key | |
"file", // type of field | |
array( | |
"accept" => "image/*" // accept all image types for file upload (http://www.w3schools.com/TAGs/att_input_accept.asp) | |
) | |
); | |
// HTML | |
$fields[] = new PMProRH_Field( | |
"html_example", // input name, will also be used as meta key | |
"html", // type of field | |
array( | |
"html" => "<p><u>Add a paragraph into your checkout.php for Paid Memberships Pro. You may also use normal HTML code to generate fields.</u></p>" // accepts HTML code | |
) | |
); | |
// HTML | |
$fields[] = new PMProRH_Field( | |
"hidden_example", // input name, will also be used as meta key | |
"hidden" // type of field - creates a field that is hidden. (Great for creating a honeypot for your checkout form) | |
); | |
/** | |
* Conditional field example. Display a textfield depending on checkbox value | |
**/ | |
$fields[] = new PMProRH_Field( | |
"conditional_example_depends_on", // input name, will also be used as meta key | |
"checkbox", // type of field | |
array( | |
"text" => "Check this to display a text field" // string for <label></label> | |
) | |
); | |
$fields[] = new PMProRH_Field( | |
"conditional_example_show", // input name, will also be used as meta key | |
"text", // type of field | |
array( | |
"depends" => array( | |
array( | |
"id" => "conditional_example_depends_on", //depends on this field | |
"value" => true //if checkbox is checked show this field | |
) | |
) | |
) | |
); | |
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_init"); |
How do i make the below radio selection as required and how do i add the text box if user selects Option 3?
$fields[] = new PMProRH_Field(
"radio_example", // input name, will also be used as meta key
"radio", // type of field
array(
"options" => array( // display the different options, no need for a "blank" option
"option_1" => "Option 1",
"option_2" => "Option 2",
"option_3" => "Option 3",
)
)
);
$fields[] = new PMProRH_Field(
"radio_example", // input name, will also be used as meta key
"radio", // type of field
array(
"options" => array( // display the different options, no need for a "blank" option
"option_1" => "Option 1",
"option_2" => "Option 2",
"option_3" => "Option 3",
)
)
);
$fields[] = new PMProRH_Field(
"conditional_example_show", // input name, will also be used as meta key
"text", // type of field
array(
"depends" => array(
array(
"id" => "radio_example", //depends on this field
"value" => "option_3" //if checkbox is checked show this field
)
)
)
);
How can we pre-check a checkbox? Thanks
Can you add an example of checkbox_grouped on this gist?