Title: Custom WP Registration Form
Author: Adam Carter
Published: <strong>January 14, 2016</strong>
Last modified: January 14, 2016

---

Search plugins

![](https://ps.w.org/custom-wp-registration-form/assets/banner-772x250.jpg?rev=1328316)

This plugin **hasn’t been tested with the latest 3 major releases of WordPress**.
It may no longer be maintained or supported and may have compatibility issues when
used with more recent versions of WordPress.

![](https://ps.w.org/custom-wp-registration-form/assets/icon-128x128.jpg?rev=1328316)

# Custom WP Registration Form

 By [Adam Carter](https://profiles.wordpress.org/adamcarter/)

[Download](https://downloads.wordpress.org/plugin/custom-wp-registration-form.zip)

 * [Details](https://sa.wordpress.org/plugins/custom-wp-registration-form/#description)
 * [Reviews](https://sa.wordpress.org/plugins/custom-wp-registration-form/#reviews)
 *  [Installation](https://sa.wordpress.org/plugins/custom-wp-registration-form/#installation)
 * [Development](https://sa.wordpress.org/plugins/custom-wp-registration-form/#developers)

 [Support](https://wordpress.org/support/plugin/custom-wp-registration-form/)

## Description

Create a custom user registration form with an associative array. Use HTML form 
element attributes as array keys to create a form. Any custom array values are automatically
added to new area of a user’s profile page in the WordPress admin. Arrays containing
values that match WordPress user meta syntax will have those input values automatically
added to those premade values in the default WordPress profile page.

Custom WP Registration Form comes with built in security and validation such as 
wp_nonce_field verification and spam honey pot. It also automatically escapes attributes
and html outputs and sanitizes user input values.

User must create a “CWRF Form” array. This array will need to be passed as an argument
to the a new ‘CWRF_Form’ object. The CWRF Form array can currently take HTML form
types: text, email, file, radio, select, and textarea as values to the key ‘type’.
More coming soon… also, I always welcome pull requests.

**Development of this plugin is done [on GitHub](https://github.com/Magnacarter/custom-wp-registration-form).
Pull requests welcome. Please see [issues](https://github.com/Magnacarter/custom-wp-registration-form/issues)
reported there before going to the plugin forum.**

## Screenshots

 * [[
 * Form the example array in the docs renders.
 * [[
 * Example of predefined user fields rendered in the default user WordPress profile.
 * [[
 * Example of custom user fields rendered in the default user WordPress profile.

## Installation

 1. Upload the plugin files to the `/wp-content/plugins/custom-wp-registration-form`
    directory, or install the plugin through the WordPress plugins screen directly.
 2. Activate the plugin through the ‘Plugins’ screen in WordPress
 3. Create a form object in a .php file where you would like the form to appear. Example:
    page-register.php
     A. the CWRF_Form object takes three arguments 1. string `$form_name`–
    default is “”. 2. array `$fields` – pass your array of input fields 3. string `
    $submit_text` – This is the text that appears on the submit button. Default is ‘
    Submit’.
 4.     ```
        Example : `$form = new CWRF_Form( $form_name, $fields, $submit_text );`
        ```
    
 5. B. Build the array. Here is the array used to build the form in the screenshots
    section.
     1. assign classes and ID’s to retain full style control of all inputs.
    2. each input field and textarea is wrapped in a `<div class="your-class">`. ID’s
    are assigned to the input and textarea tags themselves.
 6.     ```
                $fields = array(
                                'First Name' => array(
                                    'name'        => 'first_name',
                                    'type'        => 'text',
                                    'id'          => 'first_name',
                                    'class'       => '',
                                    'minlength'   => 1,
                                    'maxlength'   => 50,
                                    'placeholder' => 'First Name',
                                    'required'    => true
                                ),
                                'Last Name' => array(
                                    'name'        => 'last_name',
                                    'type'        => 'text',
                                    'id'          => 'last_name',
                                    'class'       => '',
                                    'minlength'   => 1,
                                    'maxlength'   => 50,
                                    'placeholder' => 'Last Name',
                                    'required'    => true
                                ),
                                'Username' => array(
                                    'name'        => 'user_login',
                                    'type'        => 'text',
                                    'id'          => 'user_login',
                                    'class'       => '',
                                    'minlength'   => 1,
                                    'maxlength'   => 50,
                                    'placeholder' => 'User Login',
                                    'rows'        => '',
                                    'cols'        => '',
                                    'required'    => true
                                ),
                                'Password' => array(
                                    'name'        => 'user_pass',
                                    'type'        => 'password',
                                    'id'          => 'user_pass',
                                    'class'       => '',
                                    'minlength'   => 1,
                                    'maxlength'   => 50,
                                    'placeholder' => 'Password',
                                    'rows'        => '',
                                    'cols'        => '',
                                    'required'    => true
                                ),
                                'Email Address' => array(
                                    'name'        => 'user_email',
                                    'type'        => 'email',
                                    'id'          => 'user_email',
                                    'class'       => '',
                                    'minlength'   => 1,
                                    'maxlength'   => 50,
                                    'placeholder' => 'jon@mail.com',
                                    'required'    => false
                                ),
                                'Options' => array(
                                    'name'        => 'favorite_fruit',
                                    'type'        => 'select',
                                    'id'          => 'favorite_fruit',
                                    'class'       => '',
                                    'options'     => array( 'apple', 'cherry', 'pear' ),
                                    'required'    => false
                                ),
                                'Gender' => array(
                                    'name'        => 'gender',
                                    'type'        => 'radio',
                                    'id'          => 'gender',
                                    'class'       => '',
                                    'value'       => array( 'male', 'female' ),
                                    'required'    => false
                                ),
                                'Bio' => array(
                                    'name'        => 'description',
                                    'type'        => 'textarea',
                                    'id'          => 'description',
                                    'class'       => '',
                                    'minlength'   => 1,
                                    'maxlength'   => 500,
                                    'placeholder' => 'Add your bio',
                                    'rows'        => 5,
                                    'cols'        => 50,
                                    'required'    => false
                                )
                            );
    
                            $form = new CWRF_Form( 'Test Form', $fields, 'Sign Up!' );
        ```
    
 7. C. Note, the array values that match the WordPress syntax for insertion to the 
    default WordPress profile page in the admin panel. When you don’t use this syntax,
    values will be added below the premade profile meta section. Refer to screenshots
    to see how this form is rendered in the default WordPress user profile page.
 8. D. Form is set to `method = 'POST'`

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Custom WP Registration Form” is open source software. The following people have
contributed to this plugin.

Contributors

 *   [ Adam Carter ](https://profiles.wordpress.org/adamcarter/)

[Translate “Custom WP Registration Form” into your language.](https://translate.wordpress.org/projects/wp-plugins/custom-wp-registration-form)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/custom-wp-registration-form/),
check out the [SVN repository](https://plugins.svn.wordpress.org/custom-wp-registration-form/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/custom-wp-registration-form/)
by [RSS](https://plugins.trac.wordpress.org/log/custom-wp-registration-form/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.0 – January 14, 20116

Initial release!

Props [Magnacarter](https://github.com/Magnacarter)

## Meta

 *  Version **1.0.0**
 *  Last updated **10 वर्षाः ago**
 *  Active installations **10+**
 *  WordPress version ** 3.0.1 or higher **
 *  Tested up to **4.4.34**
 *  Language
 * [English (US)](https://wordpress.org/plugins/custom-wp-registration-form/)
 * Tags
 * [custom](https://sa.wordpress.org/plugins/tags/custom/)[registration](https://sa.wordpress.org/plugins/tags/registration/)
   [registration form](https://sa.wordpress.org/plugins/tags/registration-form/)
   [secure](https://sa.wordpress.org/plugins/tags/secure/)[wordpress plugin](https://sa.wordpress.org/plugins/tags/wordpress-plugin/)
 *  [Advanced View](https://sa.wordpress.org/plugins/custom-wp-registration-form/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/custom-wp-registration-form/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/custom-wp-registration-form/reviews/)

## Contributors

 *   [ Adam Carter ](https://profiles.wordpress.org/adamcarter/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/custom-wp-registration-form/)