How To Create Custom Condition-Based Registration Page For WordPress

Website layout sketchIf your WordPress blog is open for user registrations, at times you may have felt the need to customize the registration page with some added features and conditions that meet your exact requirements. Generally, bloggers open up registrations for various reasons like guest blogging, access to premium content, the addition of moderators, paid membership and similar situations like these. Default registration page of WordPress is pretty simple with no scope of adding extra features that are so vital for gathering essential information from the registrants. Fortunately, there's a powerful plugin called Pie Register that transforms your registration page into a complete custom registration solution as per your needs. Let's see how to configure this plugin correctly to build user-friendly and custom registration pages. Remember, you must use WordPress 3.2+ to take advantage of this useful plugin.

Website layout sketch

Core Pie Register Settings

After activating this plugin you can head over to 'Pie Register' option to configure the core settings. These settings form the base of entire custom registration page development. You must ensure that you're activating only those options which are part of your registration policy. Your goal should be to simplify the registration process as much as possible. So let's see these core settings one by one.

Password settings: You can either allow registrants to set their own password during the registration, or you can opt for auto-generated passwords that can be changed later by the users. In case, you're activating user-defined passwords, you also get the option of displaying password strength meter to help users provide a fairly strong password. It also alerts the registrant about password mismatch while retyping the password for confirmation.

Custom logo: If you're developing a custom registration page, having a custom logo for the same does makes sense. It gives a professional touch to the page and helps you in adding your brand name to the custom page. While uploading the logo, you must ensure that its width doesn't exceed 358px. The height of your logo can vary as it is adjusted well within the registration form.

Integrating PayPal: If you're offering premium content or membership, you can easily integrate PayPal buttons to receive payments from new registrants. To integrate a payment button, first head over to 'Payment Gateway' option. The first field asks for PayPal Hosted Button ID. To get the ID, you need to create the button first. Log in to your PayPal account and go to Merchant Services → Buy Now Buttons. After filling the essential details in step 1 & 2, make sure complete these two important steps in step 3.

Check the following option - 'Take customers to this URL when they finish checkout' and specify the URL of the landing page where the user will be redirected once the payment has been completed. Since you're dealing with new registrants, you must divert them back to your registration page. Then check the 'Add advanced variables' option and add the following two variables (rm=2, notify_url=http://your_landing_page_url) with line breaks.

Create the button and you'll get the button code for pasting in your blog. But we're only interested in getting the PayPal Hosted Button ID. In the button code, you'll find that alphanumeric ID associated with 'value' attribute. Copy this value and insert it in the first field provided on the payment gateway settings page in your WordPress dashboard.

The second field asks you to insert your Paypal PDT Token. Here's an excellent guide that tells about obtaining your PDT token from your PayPal account. Save your settings and come back to the core settings page. Now you can select the 'Enable PayPal' option to activate the payment gateway for your registration form.

Email verification: Trolls, spammers and sometimes even genuine users fill non-existent junk email addresses during online registrations. One of the best ways to deal with this situation is to enable an opt-in system. This system sends a verification link to the email address filled in the form to ensure that the given email is active and working. You can enable the email verification system for new registrants with an option of verification grace period. If a user doesn't verify his registration within the numbers of days you've configured, his record will be automatically deleted from the database. If you're using a mandatory payment gateway, using this option makes no sense as there are negligible chances of getting fake email addresses from paying customers.

Administrator verification: If you're using this option, you must disable the email verification system discussed above. As the name implies, this option keeps the new accounts in a disabled state until the administrator explicitly approves them. If you're going to experience a massive number of registrations, enabling this option will not be a wise move. In such cases, email verification is the better option.

Invite codes: If you're launching a beta service or want to open registrations only for selective people who possess special invite codes, you can enable this option. It generates a one-time or multiple usage invite code for new registrants. This option also adds the invite code field within the form so that only select people can register on your blog. Remember, if you enable unlimited usage for a single invite code, make sure it is not leaked publicly else you may experience a massive number of unsolicited registrations.

CAPTCHA: Unless you're experiencing a massive amount of spam registrations, you should never enable this option. In fact, captcha is annoying for genuine registrants as well. If you're selecting the reCAPTCHA option, you must provide the public and private key for its proper working. You may consider disabling it later if you receive negative feedback about it from the users.

Disclaimer, License agreement & Privacy policy: Generally premium subscriptions include agreements, T&C and privacy policies that must be agreed upon by the users before they start using the service. You can easily insert a custom disclaimer, license agreement and privacy policy on your registration page by selecting these 3 options. If a registrant does not check the associated boxes indicating his acceptance of the same, his registration process cannot go further. You can easily customize the title and body of your disclaimer, privacy policy, and license agreement.

Reuse of existing email: By default, a single email address cannot be used for multiple registrations, even if each record contains unique data. If you want to allow multiple registrations through a single email id, you can check this option. Generally, it is advisable to leave it disabled as it may promote spam registrations. Although combining it with other features like administrator verification and captcha may reduce the chances of spam.

Login redirect URL: This is one of the most important settings that must be configured without any fail. This setting redirects the user to a specific landing page whenever he logs in after his registration. If you've prepared protected custom landing pages for the subscribers, you must provide the appropriate URL in this option so that each user who logs in with valid credentials is directed to that page. You must ensure that all extra links are removed from this landing page so that users may not get access to unauthorized pages or content of your blog.

Additional profile fields: Pie register can store additional details for each new registrant, if required. You can add first name, last name, social media accounts ids, website, biography and many more similar fields to store the desired information about each new user. Depending on your requirement, you can enable selective fields. Remember, the lengthier your registration form is, the more it is annoying for the registrants. Try to limit the number of additional fields so that the registration rate doesn't go down drastically.

User defined fields: If you couldn't find the relevant fields in the option discussed above, you can use this option to create your very own custom fields that perfectly matches with your requirement. You can make them mandatory as well and can specify whether they are added to registration block or to the profile information block. While adding custom fields, you must ensure that these additional fields are unambiguous and don't create confusion for the registrants.

Rest of the settings associated with this plugin are related to customizing the appearance and format of verification email, confirmation emails, notification emails, custom registration page and custom error messages. In normal conditions, you may never need to alter these settings. If you're comfortable with HTML and CSS, you can experiment with some of these settings to change the appearance of your custom registration page.