s2Member uses customizable templates to create Pro-Forms. When using a custom template for a Pro-Form, you need to be sure that the type of template you use matches the type of shortcode you use. Use paid templates for paid shortcodes and vice-versa.

Using a template file that was meant for a free registration form on a Pro-Form for paid subscriptions, or vice-versa, will lead to an unanticipated error in the program flow. One of the symptoms is a misleading error message: Missing First Name. You'll be scratching your head wondering how the first name could be missing when you just typed it in and hit "Submit".

Error: Missing First Name

To see this problem in action, create a test form using a paid registration shortcode with a free registration template.

The shortcode:

shortcode-free-registration-template-paid-shortcode-450px-width

The form produced by this shortcode looks fine:

unfilled-form-free-registration-template-paid-shortcode-450px-width

The Infamous Missing First Name Error Message

Go to your form, enter some test data and hit the Submit button and you will see this error message:

error-message-missing-first-name-450px-width

Free Registration Form Template(s)

Pro-Form templates for free registration will have the following naming convention: [payment-gateway]-registration-form.php For example, paypal-registration-form.php.

Paid Registration Form Template(s)

Pro-Form templates for paid registration will have the following naming convention: [payment-gateway]-checkout-form.php or [payment-gateway]-sp-checkout-form.php. For example, paypal-checkout-form.php.

Recap: Template Type Must Match Shortcode Type

Bottom line, when customizing s2Member you must always choose your tools carefully. Write down what it is you hope to accomplish:

Custom registration form for level 1 members paying by PayPal. Form is customized with a message saying "Joining us is a great decision!"

Make sure you choose the right template file for the task at hand. You'll avoid a lot of head-scratching!

More on Pro-Forms