One of our most frequently asked questions is: How do I add extra fields to the Paid Memberships Pro checkout page?

This can be done using the Register Helper Add On and a little bit of custom code. Our Register Helper API supports text fields, text areas, dropdowns, radio buttons, file uploads, and just about any field you could need – all customized by the membership level your user has selected.

View the Add On Documentation


Basic Install and Setup

The full Register Helper documentation contains all of the information you need to get started. A summarized list of steps is available below.

Install Register Helper – Paid Memberships Pro Add On

  1. Go to Plugins –> Add New. Search for “Register Helper Add On”. Install and Activate!
  2. Or to manually install the Add On:
    1. Download the latest version of the PMPro Register Helper Add On.
    2. Go to Plugins –> Add New in your WordPress dashboard.
    3. Click the “Upload” tab at the top of the page.
    4. Click “Choose File” and browse to the downloaded pmpro-register-helper.zip file.
    5. Click “Install Now”.
    6. Click “Activate Plugin”.

Install our Register Helper Example Plugin

  • Download the Register Helper Example Plugin.
  • Go to Plugins –> Add New in your WordPress dashboard.
  • Click the “Upload” tab at the top of the page.
  • Click “Choose File” and browse to the pmpro-register-helper-fields.zip file.
  • Click “Install Now”.
  • Click “Activate Plugin”.
  • Edit the plugin (in WordPress or via FTP) to add the fields you want per the documentation.

  • Help!

    If you need help setting up fields on your site, you can create a post in our member forums and we will craft the custom code you need to add to your site. (For PMPro Core and PMPro Plus members).

    We’ll set up the add on and add up to 5 fields as part of your PMPro Plus membership.


    Why do I need to write code? Why not have a user-friendly GUI?

    We may eventually build an admin interface for adding fields via Register Helper, but we are waiting until the main Register Helper plugin has evolved to offer as many features as our members need. And the list keep growing!

    The Register Helper plugin is a very flexible tool for developers. A GUI-based tool would inevitably be less flexible, so we are committed to maintain flexibility as well as better ease of use.


    Author’s gravatar

    Hi Jason
    I just paid a developer to add the fields to my site which was easy enough, but it doesn’t seem to have added the fields to the downloadable csv file of PMPro members.

    Should added fields be automatically be added to the downloadable csv file? I’d really like to analyse the data i’m collecting but it doesn’t seem to be working?

    Thanks

    Andy

    Reply
    Author’s gravatar

    Jason, do you think this plugin could be used to add the level-selection to the checkout page? That would eliminate the level-choice step where we can lose potential subscribers. Our first step on Nozzl is for the subscriber to select a “stream player” to embed on their own website. The default subscript is monthly, first month free, but we want to offer a yearly for the cost of 10 months. I’d love to skip the levels page and have that simple choice be a checkbox on the checkout page. They check level, enter their payment information, and SUBMIT. Paid member then get to see extra material on their account page — their account info and invoices PLUS their personal embed code and the title of their player.

    I think this is possible — would love you input, especially if you think it’s a bad idea going forward. Thanks!

    Reply
    Author’s gravatar

    Yes. We’ve done this for others. You would pair it with something like this to adjust the price based on the selection:
    https://gist.github.com/strangerstudios/9120040

    You can also do something like we do on the PMPro site, where there are links to the different level options at the top of the form:
    https://www.paidmembershipspro.com/membership-checkout/?level=6

    We just link people to the most common level and let them change to the others there. They are just simple links to other ?level=# ids.

    Reply
    Author’s gravatar

    The registration field helper plugin made it rather easy for me to add 3 extra fields, thanks. I had to bounce between the readme (which had good code examples) and the docs page for the registration helper (which had the options detailed). I appreciate the options that made it flexible to add data fields my client wants to maintain for memberships

    The docs page (https://www.paidmembershipspro.com/add-ons/plugins-on-github/pmpro-register-helper-add-checkout-and-profile-fields/) is a bit confusing. Under “installation Details” it reads “You must create an additional PMPro Customixzations [spelling error] Plugin to store the code: but really it is talking about the Register Helper Example plugin (?)

    For the customizations, there is no documentation as to what the $pmprorh_options settings do (I can guess) (mostly)

    But I got it working in less than an hour, and for me, it is way more flexible understanding the options and doing it in code than a GUI.

    Reply
    Author’s gravatar

    Thanks for this feedback. The Register Helper plugin has a lot bundled into it. We do need to spend some time on the docs.

    Reply
    Author’s gravatar

    I already had PMPro installed and activated and I needed more fields added so I have just installed PMPro Register Helper. I followed all the instruction, created the pmpro-customizations.php , edited or added the fields I wanted, viewed the page and everything shows up but once I fill out the form and hit the PayPal checkout (PMPro created pages) I get a “Error 404 Page Not Found”, if I deactivated this plugin, then PMPro displays the page with no problems.

    I even tried editing the “pmpro-register-helper-fields.php” but that gives me the same error.
    I really need help with this problem.

    Reply
    Author’s gravatar

    Hard to diagnose here. Can you post in the member forums?

    Reply
    Author’s gravatar

    I am having a similar problem. Created the pmpro-customizations.php, successfully edited and added fields, and all fields show up properly on page, but when I checkout, I get a “Error 404 Page Not Found” as well. If the Register Helper plugins are deactivated, it works again. Any suggestions?

    Author’s gravatar

    I succesfully added fields for the checkout – however, even with “profile”=>true, the field values are not showing up on the user’s profile / account page. What might I be doing wrong?

    Reply
    Author’s gravatar

    If you share your full code on something like gist.github.com we can take a look. Post to the member forums and we’ll follow up. Only thing I can think of is if the field is not being added to a proper “checkout box” that would show up on the profile page.

    Reply
    Author’s gravatar

    I succesfully added fields for the checkout, the field are not showing up on the user’s profile / account page. why ??

    Reply
    Author’s gravatar

    You need to tell RH to show the field on the profile page as well. Like this

    `
    $fields[] = new PMProRH_Field(
    “field_name”,
    “text”,
    array(
    ‘label’=>’Field Name’,
    ‘profile’=>true,
    )
    );
    `

    … add ‘profile’=>true to the array of options. Make sure your commas are good.

    If you do this and it’s STILL not showing up on the profile page, make sure you are using a location/checkout box that is also on the profile page. (I think after_password e.g. is not on the profile page.)

    Reply
    Author’s gravatar

    This is a great addition; has it successfully been modified to add fields to a mailchimp list in conjunction with PMPro MailChimp Integration?

    Reply
    Author’s gravatar

    The issue I am having with this is weird. I input the extra fields I wanted into the register helper example via the dashboard >> plugins >> edit plugins and it shows on the checkout page of the site, but when the user finishes the checkout and checks out with stripe, when we get the receipt for the transaction is does not include the options that they selected (which is a radio drop down of charities they can select to have 20% of there membership costs donated to)

    ** Note: I was the one with the paypal express working with stripe issue that emailed, but ended up abandoning using paypal in correspondence with stripe. I am now trying to get this figured out as it is about the last thing I have to complete.

    Reply
    Author’s gravatar

    Where can I edit the billing address? I want to add extra field like under lastname I want to add birthdate how to do this? Thank you.

    Reply
    Author’s gravatar

    You can add additional fields via the Register Helper add on. See: https://www.paidmembershipspro.com/add-ons/pmpro-register-helper-add-checkout-and-profile-fields/

    Reply
    Author’s gravatar

    Clever pun. If you were wondering how to edit register helper fields, you can have them added to the profile page by setting a “profile”=>true or “profile”=>”only_admin” option on the field when defining it. And here is a gist that adds the PMPro billing address fields to the edit user page in the admin. If you don’t have this code, but see “billing address” fields in the admin they are probably for a different plugin like WooCommerce.

    https://gist.github.com/strangerstudios/2c7ef6d2989465c4ba54

    Author’s gravatar

    Jason thanks for your response, but after thinking about it, I notice that you are not responsible for the answer I’m looking for.
    In my website, a learning platform, the students won’t have access to the WordPress dashboard, instead I used the plugin https://wordpress.org/plugins/clean-login/, and I’m using their shortcode to create a form in the frontend to enable the ability for the students to edit their profile.
    So the question is for them, how to add a custom field to the edit form?

    Sorry for this misunderstanding, thanks for your great plugin and your awesome support!

    Author’s gravatar

    hi, can you support add radio to form checkout?
    And then checkout completed it will show in page Membership Account
    thanks you

    Reply
    Author’s gravatar

    I have the problem that the Submit And Check Out button doesn’t work when I’m using Safari
    https://vanga.dk/wordpress/memberarea/medlems-gaa-til-kassen/?level=1

    It works fine on Firefox.

    Could it have anything to do with me using the Register Helper add-on?

    Thanks!

    Reply
    Author’s gravatar

    There is some issues with floats on your theme. You can try adding this to a custom .css file or child theme:

    `form.pmpro_form .pmpro_submit span {float: none !important; }`

    For additional support please open a topic on our members forum.

    Reply
    Author’s gravatar

    Hi,

    I was able to add additional required fields to checkout, but when a user tried to upgrade their membership, they’d get an error because they were already logged-in. They could not see the additional required fields. I thought I solved the issue by checking with an IF statement to see if the user is logged in, but now the fields do not appear in the user’s profile.

    Let me know your thoughts – http://pasted.co/abf14384

    Thanks!

    Reply
    Author’s gravatar

    This happens with register helper sometimes when you have fields required that may not necessarily show up. I’d like to update the addon to detect these situations to at least show better error messages. In any case there are a couple work arounds:

    1. Move the fields to the checkout_boxes section or another that won’t be hidden for logged in users.

    2. Add code like this above your fields:

    `
    if(is_user_logged_in())
    $required = false;
    else
    $required = true;
    `

    Then when you set the required property of those fields, use that $required variable.

    Hope this helps.

    Reply
    Author’s gravatar

    Yes, this did help me. I used method 2. Everything seems to be working as expected. Thanks!

    Author’s gravatar

    Hello Sir few Extra fields are sending empty data in the admin email on checkout Number inputs and dropdowns . Any help please

    Reply
    Author’s gravatar

    Hi. It was really simple to add a new field and I have successfully added it to the checkout and profile pages. I would like the field to be read-only to the user on their profile but allow an admin to change it from the dashboard. Is that possible?

    Reply
    Author’s gravatar

    Glad you got your field added.

    There isn’t a “profile” option that does exactly what you need. It would be neat.

    In the meantime, you can add logic when defining the fields, so if a user is an admin, set the field type to readonly or otherwise make it read only.

    `
    if ( current_user_can(‘manage_options’ ) ) {
    $fieldtype = ‘text’;
    } else {
    $fieldtype = ‘readonly’;
    }
    $field[] = new PMProRH_Field( ‘my_field_key’, $fieldtype, array() ); //update this
    `

    Reply
    Author’s gravatar

    Hello, can I create like this registration form “http://anthemes.com/themes/kickcube/box2/register/” using this paid membership plugin. I want membership level show on like this.

    Reply
    Author’s gravatar

    Hi @Navdisenyo,

    Thanks for getting in touch with us, this is possible for the most part it seems like you are looking for styling changes when comparing the standard PMPro checkout page and the link you sent. You can do this via CSS changes or via a custom page template. Either way, you will need to know some coding to get this looking as you need it.

    Reply

    Leave a Reply

    Your email address will not be published. Required fields are marked *