Enable custom registration flow: custom registration form, password validator, confirmation via email.
Author: | F1 Code (profile at wordpress.org) |
WordPress version required: | 4.1 |
WordPress version tested: | 4.3.1 |
Plugin version: | 1.0 |
Added to WordPress repository: | 27-09-2015 |
Last updated: | 19-11-2015
Warning! This plugin has not been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.
|
Rating, %: | 20 |
Rated by: | 1 |
Plugin URI: | |
Total downloads: | 890 |
Click to start download
|
Register Flow gives a simple solution to custom registration form needs. Rather than having you learn to use a
new form designer, shortcodes are provided to turn your custom pages into registration steps. Action and filter
hooks are then used to let plugin users tweak the registration process as needed. This is intentionally a developer
focused solution to allow full control of the process.
The registration process has 3 steps:
- Step 1 is where users could enter a username and validate there it is valid. You can implement custom validation
to modify this step.
- Step 2 would be the rest of the information (password, phone, etc). Once they complete this step an email will
be sent enabling them to complete the process. You can implement custom validation here as well.
- Confirmation step is called when the user clicks on the link in their email (up until that point they have not
actually been created as a WordPress user). You can implement custom validation as well as custom logic to be run
when the user has been created (good place to save some additional user data).
All these steps are controlled via custom pages, action hooks and filters - see the FAQ section for
more details.
FAQ
How do I define the registration form?
2 shortcodes are available for use in the site’s pages:
- f1-registration-form-step1
- f1-registration-form-step2
They should wrap the form’s content. Form’s control names should be prefixed with “registration_”.
Any field included in the “step1” form will be passed to the “step2” page via the query string. At a minimum the step2 form must have the following fields (these can either be present on the form itself, or generated via the registration_step2_validate action):
- registration_first
- registration_last
- registration_email
- registration_login
- registration_password
- registration_password_confirm
The default page names are:
register
– initial registration form. This must contain the registration-form-step1
shortcode.
register-complete
– step 2 of the registration. This must contain the registration-form-step2
shortcode.
register-checkemail
– page shown when step 2 completes. Should have a message to the effect of “Please check your email”
You can select other pages on the plugin settings page.
How do I edit email templates?
Templates are simply custom WP pages with pre-determined names. Variables surrounded by {{ }} will be expanded. There is only 1 email template at this time:
- Registration Confirmation Request: The system will look for a page named
registration-confirmation-request-template
and expand the following variables:
- registration_confirmation_url – URL to be used for confirming the registration
- variables provided on the registration form (e.g. registration_login, registration_password, etc)
How do I customize the validation steps?
Use the following WordPress filter hooks:
-
f1_registration_step1_validate($form_data, $errors): This will be passed the form data. If the validation fails errors should be added to the $errors parameter. $form_data (modified or not) must be returned.
-
f1_registration_step2_validate($form_data, $errors): This will be passed the form data. If the validation fails errors should be added to the $errors parameter. $form_data (modified or not) must be returned.
-
f1_registration_confirmation_request_email($email, $form_data): This can be used to modify the email used for the confirmation request. By default the system will use the provided registration_email.
-
f1_registration_confirmation_validate($form_data, $errors): This will be passed the form data. It fires right before the user is created. If the validation fails errors should be added to the $errors parameter. $form_data (modified or not) must be returned.
How do I save additional user data for the user?
Use the following action hook:
- f1_registration_confirmed($user_id, $form_data): Invoked when the user confirms his registration, by clicking the link in the email. The original form data gets passed. This is where additional metadata could be added to the user, or a thank you email could be sent.
How do I show a confirmation page to the user (or other post-confirmation actions)?
By default, once the user has passed the confirmation step, they will be redirected to the site’s home page. To customize this, use the following action hook:
- f1_registration_loggedin($user_id): Invoked when the user has confirmed registration, and after they have already been marked as logged in.
ChangeLog
1.0
Initial release
1.1
Add configuration options for registration pages
1.2
Add example configuration (example.md)