{"id":118572,"date":"2014-08-27T10:57:53","date_gmt":"2014-08-27T08:57:53","guid":{"rendered":"http:\/\/designmodo.com\/?p=118572"},"modified":"2025-11-11T10:13:23","modified_gmt":"2025-11-11T10:13:23","slug":"wordpress-custom-registration","status":"publish","type":"post","link":"https:\/\/strictthemes.com\/articles\/wordpress-custom-registration\/","title":{"rendered":"Building a Custom WordPress Registration Form with Flat UI"},"content":{"rendered":"<p>In a previous article, we walked through building a custom login form which can be embedded in a post or page using a shortcode and in a specific theme location using template tag.<\/p>\n<p>A lot of WordPress users would prefer custom login and registration forms because the defaults are very basic, don&#8217;t match the website design and the registration form lacks an extra profile field.<\/p>\n<p>Similar to our tutorial on building a Custom WordPress Login Form, this tutorial will help you build a <strong>custom registration form<\/strong> plugin using <a href=\"https:\/\/designmodo.com\/flat-free\/\" target=\"_blank\" rel=\"noopener noreferrer\">Flat UI<\/a> form components \u2014 with great aesthetics.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/strictthemes.com\/articles\/wp-content\/uploads\/2024\/06\/StrictThemes-banner.jpg\" alt=\"StrictThemes\" width=\"1180\" height=\"552\" class=\"alignnone size-full wp-image-297437\" \/><\/p>\n<p>Below is a screenshot of the WordPress Registration form that will be developed at the end of this tutorial.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-118582 size-full\" src=\"https:\/\/strictthemes.com\/articles\/wp-content\/uploads\/2024\/06\/custom-wordpress-registration-form.png\" alt=\"Custom WordPress Registration Form\" width=\"391\" height=\"542\" \/><\/p>\n<h2>Coding the Registration Form Plugin<\/h2>\n<p>The actual registration of a user after completing a form is done using the WordPress <a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/wp_insert_user\/\" target=\"_blank\" rel=\"noopener noreferrer\">wp_insert_user()<\/a> function. It accepts an array of user data (username, password, email and other extra profile fields) and inserts them into the database thus registering the user.<\/p>\n<p>In order not to make the form unnecessarily long, we will use the following profile fields in the registration form.<\/p>\n<ol>\n<li>Username<\/li>\n<li>Email<\/li>\n<li>Password<\/li>\n<li>Website<\/li>\n<li>First Name<\/li>\n<li>Last Name<\/li>\n<li>Nickname<\/li>\n<li>About\/Bio<\/li>\n<\/ol>\n<p>Let&#8217;s get started.<\/p>\n<p>First, create a folder where all of the plugin files will be stored. E.g. <code>Designmodo-registration-form<\/code><\/p>\n<p>Include the plugin file header as follows:<\/p>\n<p>[php]<br \/>\n&amp;lt;?php<\/p>\n<p>\/*<br \/>\n  Plugin Name: Designmodo Registration Form<br \/>\n  Plugin URI: https:\/\/designmodo.com<br \/>\n  Description: Simple WordPress registration form plugin that just work<br \/>\n  Version: 1.0<br \/>\n  Author: Agbonghama Collins<br \/>\n  Author URI:<br \/>\n *\/<br \/>\n[\/php]<\/p>\n<p>We are using form components from Designmodo&#8217;s <strong>Flat UI<\/strong> kit to beautify the form, hence it should be installed on the plugin folder.<\/p>\n<p>Download the <a href=\"https:\/\/designmodo.com\/flat-free\/\" target=\"_blank\" rel=\"noopener noreferrer\">Flat UI<\/a> kit, extract the files and copy the <code>bootstrap<\/code>, <code>css<\/code> and <code>font<\/code> folder to the plugin folder.<\/p>\n<p>Create the plugin class and include the properties that will store the various form values.<\/p>\n<p>[php]<br \/>\nclass Designmodo_registration_form<br \/>\n{<\/p>\n<p>    \/\/ form properties<br \/>\n    private $username;<br \/>\n    private $email;<br \/>\n    private $password;<br \/>\n    private $website;<br \/>\n    private $first_name;<br \/>\n    private $last_name;<br \/>\n    private $nickname;<br \/>\n    private $bio;<br \/>\n[\/php]<\/p>\n<p>The magic <code>__construct()<\/code> method handles the registration of the shortcode <strong>[dm_registration_form]<\/strong> and enqueue the Bootstrap and Flat UI stylesheet powered by the <code>wp_enqueue_scripts<\/code> Action hook.<\/p>\n<p>[php]<br \/>\n    function __construct()<br \/>\n    {<br \/>\n        add_shortcode(&#8216;dm_registration_form&#8217;, array($this, &#8216;shortcode&#8217;));<br \/>\n        add_action(&#8216;wp_enqueue_scripts&#8217;, array($this, &#8216;flat_ui_kit&#8217;));<br \/>\n    }<br \/>\n[\/php]<\/p>\n<p>The <code>registration_form<\/code> method below contains the Registration HTML form code which also includes <strong>Flat UI<\/strong> form components, CSS IDs and class.<\/p>\n<p>[php]public function registration_form()<br \/>\n    {<\/p>\n<p>        ?&gt;<\/p>\n<p>        &lt;form method=&quot;post&quot; action=&quot;&lt;?php echo esc_url($_SERVER[&#8216;REQUEST_URI&#8217;]); ?&gt;&quot;&gt;<br \/>\n            &lt;div class=&quot;login-form&quot;&gt;<br \/>\n                &lt;div class=&quot;form-group&quot;&gt;<br \/>\n                    &lt;input name=&quot;reg_name&quot; type=&quot;text&quot; class=&quot;form-control login-field&quot;<br \/>\n                           value=&quot;&lt;?php echo(isset($_POST[&#8216;reg_name&#8217;]) ? $_POST[&#8216;reg_name&#8217;] : null); ?&gt;&quot;<br \/>\n                           placeholder=&quot;Username&quot; id=&quot;reg-name&quot; required\/&gt;<br \/>\n                    &lt;label class=&quot;login-field-icon fui-user&quot; for=&quot;reg-name&quot;&gt;&lt;\/label&gt;<br \/>\n                &lt;\/div&gt;<\/p>\n<p>                &lt;div class=&quot;form-group&quot;&gt;<br \/>\n                    &lt;input name=&quot;reg_email&quot; type=&quot;email&quot; class=&quot;form-control login-field&quot;<br \/>\n                           value=&quot;&lt;?php echo(isset($_POST[&#8216;reg_email&#8217;]) ? $_POST[&#8216;reg_email&#8217;] : null); ?&gt;&quot;<br \/>\n                           placeholder=&quot;Email&quot; id=&quot;reg-email&quot; required\/&gt;<br \/>\n                    &lt;label class=&quot;login-field-icon fui-mail&quot; for=&quot;reg-email&quot;&gt;&lt;\/label&gt;<br \/>\n                &lt;\/div&gt;<\/p>\n<p>                &lt;div class=&quot;form-group&quot;&gt;<br \/>\n                    &lt;input name=&quot;reg_password&quot; type=&quot;password&quot; class=&quot;form-control login-field&quot;<br \/>\n                           value=&quot;&lt;?php echo(isset($_POST[&#8216;reg_password&#8217;]) ? $_POST[&#8216;reg_password&#8217;] : null); ?&gt;&quot;<br \/>\n                           placeholder=&quot;Password&quot; id=&quot;reg-pass&quot; required\/&gt;<br \/>\n                    &lt;label class=&quot;login-field-icon fui-lock&quot; for=&quot;reg-pass&quot;&gt;&lt;\/label&gt;<br \/>\n                &lt;\/div&gt;<\/p>\n<p>                &lt;div class=&quot;form-group&quot;&gt;<br \/>\n                    &lt;input name=&quot;reg_website&quot; type=&quot;text&quot; class=&quot;form-control login-field&quot;<br \/>\n                           value=&quot;&lt;?php echo(isset($_POST[&#8216;reg_website&#8217;]) ? $_POST[&#8216;reg_website&#8217;] : null); ?&gt;&quot;<br \/>\n                           placeholder=&quot;Website&quot; id=&quot;reg-website&quot;\/&gt;<br \/>\n                    &lt;label class=&quot;login-field-icon fui-chat&quot; for=&quot;reg-website&quot;&gt;&lt;\/label&gt;<br \/>\n                &lt;\/div&gt;<\/p>\n<p>                &lt;div class=&quot;form-group&quot;&gt;<br \/>\n                    &lt;input name=&quot;reg_fname&quot; type=&quot;text&quot; class=&quot;form-control login-field&quot;<br \/>\n                           value=&quot;&lt;?php echo(isset($_POST[&#8216;reg_fname&#8217;]) ? $_POST[&#8216;reg_fname&#8217;] : null); ?&gt;&quot;<br \/>\n                           placeholder=&quot;First Name&quot; id=&quot;reg-fname&quot;\/&gt;<br \/>\n                    &lt;label class=&quot;login-field-icon fui-user&quot; for=&quot;reg-fname&quot;&gt;&lt;\/label&gt;<br \/>\n                &lt;\/div&gt;<\/p>\n<p>                &lt;div class=&quot;form-group&quot;&gt;<br \/>\n                    &lt;input name=&quot;reg_lname&quot; type=&quot;text&quot; class=&quot;form-control login-field&quot;<br \/>\n                           value=&quot;&lt;?php echo(isset($_POST[&#8216;reg_lname&#8217;]) ? $_POST[&#8216;reg_lname&#8217;] : null); ?&gt;&quot;<br \/>\n                           placeholder=&quot;Last Name&quot; id=&quot;reg-lname&quot;\/&gt;<br \/>\n                    &lt;label class=&quot;login-field-icon fui-user&quot; for=&quot;reg-lname&quot;&gt;&lt;\/label&gt;<br \/>\n                &lt;\/div&gt;<\/p>\n<p>                &lt;div class=&quot;form-group&quot;&gt;<br \/>\n                    &lt;input name=&quot;reg_nickname&quot; type=&quot;text&quot; class=&quot;form-control login-field&quot;<br \/>\n                           value=&quot;&lt;?php echo(isset($_POST[&#8216;reg_nickname&#8217;]) ? $_POST[&#8216;reg_nickname&#8217;] : null); ?&gt;&quot;<br \/>\n                           placeholder=&quot;Nickname&quot; id=&quot;reg-nickname&quot;\/&gt;<br \/>\n                    &lt;label class=&quot;login-field-icon fui-user&quot; for=&quot;reg-nickname&quot;&gt;&lt;\/label&gt;<br \/>\n                &lt;\/div&gt;<\/p>\n<p>                &lt;div class=&quot;form-group&quot;&gt;<br \/>\n                    &lt;input name=&quot;reg_bio&quot; type=&quot;text&quot; class=&quot;form-control login-field&quot;<br \/>\n                           value=&quot;&lt;?php echo(isset($_POST[&#8216;reg_bio&#8217;]) ? $_POST[&#8216;reg_bio&#8217;] : null); ?&gt;&quot;<br \/>\n                           placeholder=&quot;About \/ Bio&quot; id=&quot;reg-bio&quot;\/&gt;<br \/>\n                    &lt;label class=&quot;login-field-icon fui-new&quot; for=&quot;reg-bio&quot;&gt;&lt;\/label&gt;<br \/>\n                &lt;\/div&gt;<\/p>\n<p>                &lt;input class=&quot;btn btn-primary btn-lg btn-block&quot; type=&quot;submit&quot; name=&quot;reg_submit&quot; value=&quot;Register&quot;\/&gt;<br \/>\n        &lt;\/form&gt;&lt;closeform&gt;&lt;\/closeform&gt;<br \/>\n        &lt;\/div&gt;<br \/>\n    &lt;?php<br \/>\n    }<br \/>\n[\/php]<\/p>\n<p>The <code>validation<\/code> method will validate the registration form data and ensure that:<\/p>\n<ol>\n<li>Username, email and password field shouldn&#8217;t be empty.<\/li>\n<li>Username should at least be four characters.<\/li>\n<li>Password length must be greater than five characters.<\/li>\n<li>All form values must be a valid data type.<\/li>\n<\/ol>\n<p>The method returns an error message when an invalid data is entered into the form.<\/p>\n<p>[php]<br \/>\nfunction validation()<br \/>\n    {<\/p>\n<p>        if (empty($this-&gt;username) || empty($this-&gt;password) || empty($this-&gt;email)) {<br \/>\n            return new WP_Error(&#8216;field&#8217;, &#8216;Required form field is missing&#8217;);<br \/>\n        }<\/p>\n<p>        if (strlen($this-&gt;username) &lt; 4) {<br \/>\n            return new WP_Error(&#8216;username_length&#8217;, &#8216;Username too short. At least 4 characters is required&#8217;);<br \/>\n        }<\/p>\n<p>        if (strlen($this-&gt;password) &lt; 5) {<br \/>\n            return new WP_Error(&#8216;password&#8217;, &#8216;Password length must be greater than 5&#8242;);<br \/>\n        }<\/p>\n<p>        if (!is_email($this-&gt;email)) {<br \/>\n            return new WP_Error(&#8217;email_invalid&#8217;, &#8216;Email is not valid&#8217;);<br \/>\n        }<\/p>\n<p>        if (email_exists($this-&gt;email)) {<br \/>\n            return new WP_Error(&#8217;email&#8217;, &#8216;Email Already in use&#8217;);<br \/>\n        }<\/p>\n<p>        if (!empty($website)) {<br \/>\n            if (!filter_var($this-&gt;website, FILTER_VALIDATE_URL)) {<br \/>\n                return new WP_Error(&#8216;website&#8217;, &#8216;Website is not a valid URL&#8217;);<br \/>\n            }<br \/>\n        }<\/p>\n<p>        $details = array(&#8216;Username&#8217; =&gt; $this-&gt;username,<br \/>\n            &#8216;First Name&#8217; =&gt; $this-&gt;first_name,<br \/>\n            &#8216;Last Name&#8217; =&gt; $this-&gt;last_name,<br \/>\n            &#8216;Nickname&#8217; =&gt; $this-&gt;nickname,<br \/>\n            &#8216;bio&#8217; =&gt; $this-&gt;bio<br \/>\n        );<\/p>\n<p>        foreach ($details as $field =&gt; $detail) {<br \/>\n            if (!validate_username($detail)) {<br \/>\n                return new WP_Error(&#8216;name_invalid&#8217;, &#8216;Sorry, the &quot;&#8217; . $field . &#8216;&quot; you entered is not valid&#8217;);<br \/>\n            }<br \/>\n        }<\/p>\n<p>    }<br \/>\n[\/php]<\/p>\n<p>The <code>registration<\/code> method handles the registration of the user.<br \/>\nBefore the method proceeds in the registration of the user, it ensures no error was generated by the registration form, i.e no invalid data was detected.<\/p>\n<p>[php]<br \/>\n    function registration()<br \/>\n    {<\/p>\n<p>        $userdata = array(<br \/>\n            &#8216;user_login&#8217; =&gt; esc_attr($this-&gt;username),<br \/>\n            &#8216;user_email&#8217; =&gt; esc_attr($this-&gt;email),<br \/>\n            &#8216;user_pass&#8217; =&gt; esc_attr($this-&gt;password),<br \/>\n            &#8216;user_url&#8217; =&gt; esc_attr($this-&gt;website),<br \/>\n            &#8216;first_name&#8217; =&gt; esc_attr($this-&gt;first_name),<br \/>\n            &#8216;last_name&#8217; =&gt; esc_attr($this-&gt;last_name),<br \/>\n            &#8216;nickname&#8217; =&gt; esc_attr($this-&gt;nickname),<br \/>\n            &#8216;description&#8217; =&gt; esc_attr($this-&gt;bio),<br \/>\n        );<\/p>\n<p>        if (is_wp_error($this-&gt;validation())) {<br \/>\n            echo &#8216;&lt;div style=&quot;margin-bottom: 6px&quot; class=&quot;btn btn-block btn-lg btn-danger&quot;&gt;&#8217;;<br \/>\n            echo &#8216;&lt;strong&gt;&#8217; . $this-&gt;validation()-&gt;get_error_message() . &#8216;&lt;\/strong&gt;&#8217;;<br \/>\n            echo &#8216;&lt;\/div&gt;&#8217;;<br \/>\n        } else {<br \/>\n            $register_user = wp_insert_user($userdata);<br \/>\n            if (!is_wp_error($register_user)) {<\/p>\n<p>                echo &#8216;&lt;div style=&quot;margin-bottom: 6px&quot; class=&quot;btn btn-block btn-lg btn-danger&quot;&gt;&#8217;;<br \/>\n                echo &#8216;&lt;strong&gt;Registration complete. Goto &lt;a href=&quot;&#8217; . wp_login_url() . &#8216;&quot;&gt;login page&lt;\/a&gt;&lt;\/strong&gt;&#8217;;<br \/>\n                echo &#8216;&lt;\/div&gt;&#8217;;<br \/>\n            } else {<br \/>\n                echo &#8216;&lt;div style=&quot;margin-bottom: 6px&quot; class=&quot;btn btn-block btn-lg btn-danger&quot;&gt;&#8217;;<br \/>\n                echo &#8216;&lt;strong&gt;&#8217; . $register_user-&gt;get_error_message() . &#8216;&lt;\/strong&gt;&#8217;;<br \/>\n                echo &#8216;&lt;\/div&gt;&#8217;;<br \/>\n            }<br \/>\n        }<\/p>\n<p>    }<br \/>\n[\/php]<\/p>\n<p>Let me explain how the code in <code>registration<\/code> method handles user registration.<\/p>\n<p>The <code>$userdata<\/code> array contains the form values entered by users, which will be used later by the <a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/wp_insert_user\/\" target=\"_blank\" rel=\"noopener noreferrer\">wp_insert_user()<\/a> function to insert the user into the database.<\/p>\n<p>Next, it check if the <code>validation<\/code> method detects an error. If false, the <code>wp_insert_user()<\/code> function proceed in registering the user otherwise the error message returned by the <code>validation<\/code> method is displayed.<\/p>\n<p>To embed the custom registration form to a WordPress page, a shortcode will be used.<\/p>\n<p>The <code>shortcode<\/code> method below is the callback function that is called when <strong>[dm_registration_form]<\/strong> shortcode, that embeds the registration form that is inserted in a post or page.<\/p>\n<p>[php]<br \/>\nfunction shortcode()<br \/>\n    {<\/p>\n<p>        ob_start();<\/p>\n<p>        if ($_POST[&#8216;reg_submit&#8217;]) {<br \/>\n            $this-&gt;username = $_POST[&#8216;reg_name&#8217;];<br \/>\n            $this-&gt;email = $_POST[&#8216;reg_email&#8217;];<br \/>\n            $this-&gt;password = $_POST[&#8216;reg_password&#8217;];<br \/>\n            $this-&gt;website = $_POST[&#8216;reg_website&#8217;];<br \/>\n            $this-&gt;first_name = $_POST[&#8216;reg_fname&#8217;];<br \/>\n            $this-&gt;last_name = $_POST[&#8216;reg_lname&#8217;];<br \/>\n            $this-&gt;nickname = $_POST[&#8216;reg_nickname&#8217;];<br \/>\n            $this-&gt;bio = $_POST[&#8216;reg_bio&#8217;];<\/p>\n<p>            $this-&gt;validation();<br \/>\n            $this-&gt;registration();<br \/>\n        }<\/p>\n<p>        $this-&gt;registration_form();<br \/>\n        return ob_get_clean();<br \/>\n    }<br \/>\n[\/php]<\/p>\n<p>To give our plugin the awesome look powered by Flat UI, the <code>flat_ui_kit<\/code> method append the Bootstrap and Flat UI css stylesheet to WordPress header.<\/p>\n<p>[php]<br \/>\n    function flat_ui_kit()<br \/>\n    {<br \/>\n        wp_enqueue_style(&#8216;bootstrap-css&#8217;, plugins_url(&#8216;bootstrap\/css\/bootstrap.css&#8217;, __FILE__));<br \/>\n        wp_enqueue_style(&#8216;flat-ui-kit&#8217;, plugins_url(&#8216;css\/flat-ui.css&#8217;, __FILE__));<\/p>\n<p>    }<br \/>\n[\/php]<\/p>\n<p>The registration form plugin wouldn&#8217;t function unless the class is functioning.<\/p>\n<p>[php]<br \/>\nnew Designmodo_registration_form;<br \/>\n[\/php]<\/p>\n<p>Hurray! We&#8217;ve completed the custom WordPress registration form plugin.<\/p>\n<h2>Use the Custom Registration Form Plugin<\/h2>\n<p>To embed the contact form in WordPress posts or pages, use the shortcode <strong>[dm_registration_form]<\/strong>, while in a theme template, use the code below:<\/p>\n<p>[php]<br \/>\n&amp;lt;?php echo do_shortcode(&#8216;[dm_login_form]&#8217;); ?&amp;gt;<br \/>\n[\/php]<\/p>\n<h3>Wrap Up<\/h3>\n<p>I am quite sure a lot of us would love to have a custom registration form on our respective WordPress-powered websites. This tutorial should help you achieve it.<\/p>\n<p>[emaillocker]<br \/>\nGrab the <strong>registration form<\/strong> plugin file <a href=\"https:\/\/www.dropbox.com\/scl\/fi\/uk54nwxap05qpciujv7pr\/designmodo-registration-form.zip?rlkey=cn0zklwteb2qcwd8z3ewplu02&amp;e=1&amp;dl=0\">here<\/a>.<br \/>\n[\/emaillocker]<\/p>\n<p>If you have any questions, let me know in the comments below.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In a previous article, we walked through building a custom login form which can be embedded in a post or page using a shortcode and in a specific theme location using template tag. A lot of WordPress users would prefer custom login and registration forms because the defaults are very basic, don&#8217;t match the website [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":120283,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[25],"tags":[],"class_list":["post-118572","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wordpress"],"blocksy_meta":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Building a Custom WordPress Registration Form with Flat UI - WordPress Guides<\/title>\n<meta name=\"description\" content=\"I will teach us how to build a custom register form plugin and of course the Flat UI form component, will be used to make the registration form pretty.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/strictthemes.com\/articles\/wordpress-custom-registration\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Building a Custom WordPress Registration Form with Flat UI - WordPress Guides\" \/>\n<meta property=\"og:description\" content=\"I will teach us how to build a custom register form plugin and of course the Flat UI form component, will be used to make the registration form pretty.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/strictthemes.com\/articles\/wordpress-custom-registration\/\" \/>\n<meta property=\"og:site_name\" content=\"WordPress Guides\" \/>\n<meta property=\"article:published_time\" content=\"2014-08-27T08:57:53+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-11-11T10:13:23+00:00\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/strictthemes.com\/articles\/wordpress-custom-registration\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/strictthemes.com\/articles\/wordpress-custom-registration\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/strictthemes.com\/articles\/#\/schema\/person\/0494d35a2138fb6ca85de8d8c107cea3\"},\"headline\":\"Building a Custom WordPress Registration Form with Flat UI\",\"datePublished\":\"2014-08-27T08:57:53+00:00\",\"dateModified\":\"2025-11-11T10:13:23+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/strictthemes.com\/articles\/wordpress-custom-registration\/\"},\"wordCount\":1857,\"commentCount\":28,\"publisher\":{\"@id\":\"https:\/\/strictthemes.com\/articles\/#organization\"},\"image\":{\"@id\":\"https:\/\/strictthemes.com\/articles\/wordpress-custom-registration\/#primaryimage\"},\"thumbnailUrl\":\"\",\"articleSection\":[\"WordPress\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/strictthemes.com\/articles\/wordpress-custom-registration\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/strictthemes.com\/articles\/wordpress-custom-registration\/\",\"url\":\"https:\/\/strictthemes.com\/articles\/wordpress-custom-registration\/\",\"name\":\"Building a Custom WordPress Registration Form with Flat UI - WordPress Guides\",\"isPartOf\":{\"@id\":\"https:\/\/strictthemes.com\/articles\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/strictthemes.com\/articles\/wordpress-custom-registration\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/strictthemes.com\/articles\/wordpress-custom-registration\/#primaryimage\"},\"thumbnailUrl\":\"\",\"datePublished\":\"2014-08-27T08:57:53+00:00\",\"dateModified\":\"2025-11-11T10:13:23+00:00\",\"description\":\"I will teach us how to build a custom register form plugin and of course the Flat UI form component, will be used to make the registration form pretty.\",\"breadcrumb\":{\"@id\":\"https:\/\/strictthemes.com\/articles\/wordpress-custom-registration\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/strictthemes.com\/articles\/wordpress-custom-registration\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/strictthemes.com\/articles\/wordpress-custom-registration\/#primaryimage\",\"url\":\"\",\"contentUrl\":\"\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/strictthemes.com\/articles\/wordpress-custom-registration\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/strictthemes.com\/articles\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Building a Custom WordPress Registration Form with Flat UI\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/strictthemes.com\/articles\/#website\",\"url\":\"https:\/\/strictthemes.com\/articles\/\",\"name\":\"WordPress Guides\",\"description\":\"Create WordPress websites for begginers.\",\"publisher\":{\"@id\":\"https:\/\/strictthemes.com\/articles\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/strictthemes.com\/articles\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/strictthemes.com\/articles\/#organization\",\"name\":\"WordPress Guides\",\"url\":\"https:\/\/strictthemes.com\/articles\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/strictthemes.com\/articles\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/strictthemes.com\/articles\/wp-content\/uploads\/2021\/02\/logo.png\",\"contentUrl\":\"https:\/\/strictthemes.com\/articles\/wp-content\/uploads\/2021\/02\/logo.png\",\"width\":500,\"height\":500,\"caption\":\"WordPress Guides\"},\"image\":{\"@id\":\"https:\/\/strictthemes.com\/articles\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/strictthemes.com\/articles\/#\/schema\/person\/0494d35a2138fb6ca85de8d8c107cea3\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/0f3e4f16181fb8c4f52d8ce92b721be0a10c6988bdb5a145b784cde45f5ef679?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0f3e4f16181fb8c4f52d8ce92b721be0a10c6988bdb5a145b784cde45f5ef679?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0f3e4f16181fb8c4f52d8ce92b721be0a10c6988bdb5a145b784cde45f5ef679?s=96&d=mm&r=g\",\"caption\":\"admin\"},\"sameAs\":[\"https:\/\/strictthemes.com\/articles\"],\"url\":\"https:\/\/strictthemes.com\/articles\/author\/andrian\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Building a Custom WordPress Registration Form with Flat UI - WordPress Guides","description":"I will teach us how to build a custom register form plugin and of course the Flat UI form component, will be used to make the registration form pretty.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/strictthemes.com\/articles\/wordpress-custom-registration\/","og_locale":"en_US","og_type":"article","og_title":"Building a Custom WordPress Registration Form with Flat UI - WordPress Guides","og_description":"I will teach us how to build a custom register form plugin and of course the Flat UI form component, will be used to make the registration form pretty.","og_url":"https:\/\/strictthemes.com\/articles\/wordpress-custom-registration\/","og_site_name":"WordPress Guides","article_published_time":"2014-08-27T08:57:53+00:00","article_modified_time":"2025-11-11T10:13:23+00:00","author":"admin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"admin","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/strictthemes.com\/articles\/wordpress-custom-registration\/#article","isPartOf":{"@id":"https:\/\/strictthemes.com\/articles\/wordpress-custom-registration\/"},"author":{"name":"admin","@id":"https:\/\/strictthemes.com\/articles\/#\/schema\/person\/0494d35a2138fb6ca85de8d8c107cea3"},"headline":"Building a Custom WordPress Registration Form with Flat UI","datePublished":"2014-08-27T08:57:53+00:00","dateModified":"2025-11-11T10:13:23+00:00","mainEntityOfPage":{"@id":"https:\/\/strictthemes.com\/articles\/wordpress-custom-registration\/"},"wordCount":1857,"commentCount":28,"publisher":{"@id":"https:\/\/strictthemes.com\/articles\/#organization"},"image":{"@id":"https:\/\/strictthemes.com\/articles\/wordpress-custom-registration\/#primaryimage"},"thumbnailUrl":"","articleSection":["WordPress"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/strictthemes.com\/articles\/wordpress-custom-registration\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/strictthemes.com\/articles\/wordpress-custom-registration\/","url":"https:\/\/strictthemes.com\/articles\/wordpress-custom-registration\/","name":"Building a Custom WordPress Registration Form with Flat UI - WordPress Guides","isPartOf":{"@id":"https:\/\/strictthemes.com\/articles\/#website"},"primaryImageOfPage":{"@id":"https:\/\/strictthemes.com\/articles\/wordpress-custom-registration\/#primaryimage"},"image":{"@id":"https:\/\/strictthemes.com\/articles\/wordpress-custom-registration\/#primaryimage"},"thumbnailUrl":"","datePublished":"2014-08-27T08:57:53+00:00","dateModified":"2025-11-11T10:13:23+00:00","description":"I will teach us how to build a custom register form plugin and of course the Flat UI form component, will be used to make the registration form pretty.","breadcrumb":{"@id":"https:\/\/strictthemes.com\/articles\/wordpress-custom-registration\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/strictthemes.com\/articles\/wordpress-custom-registration\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/strictthemes.com\/articles\/wordpress-custom-registration\/#primaryimage","url":"","contentUrl":""},{"@type":"BreadcrumbList","@id":"https:\/\/strictthemes.com\/articles\/wordpress-custom-registration\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/strictthemes.com\/articles\/"},{"@type":"ListItem","position":2,"name":"Building a Custom WordPress Registration Form with Flat UI"}]},{"@type":"WebSite","@id":"https:\/\/strictthemes.com\/articles\/#website","url":"https:\/\/strictthemes.com\/articles\/","name":"WordPress Guides","description":"Create WordPress websites for begginers.","publisher":{"@id":"https:\/\/strictthemes.com\/articles\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/strictthemes.com\/articles\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/strictthemes.com\/articles\/#organization","name":"WordPress Guides","url":"https:\/\/strictthemes.com\/articles\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/strictthemes.com\/articles\/#\/schema\/logo\/image\/","url":"https:\/\/strictthemes.com\/articles\/wp-content\/uploads\/2021\/02\/logo.png","contentUrl":"https:\/\/strictthemes.com\/articles\/wp-content\/uploads\/2021\/02\/logo.png","width":500,"height":500,"caption":"WordPress Guides"},"image":{"@id":"https:\/\/strictthemes.com\/articles\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/strictthemes.com\/articles\/#\/schema\/person\/0494d35a2138fb6ca85de8d8c107cea3","name":"admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/0f3e4f16181fb8c4f52d8ce92b721be0a10c6988bdb5a145b784cde45f5ef679?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/0f3e4f16181fb8c4f52d8ce92b721be0a10c6988bdb5a145b784cde45f5ef679?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0f3e4f16181fb8c4f52d8ce92b721be0a10c6988bdb5a145b784cde45f5ef679?s=96&d=mm&r=g","caption":"admin"},"sameAs":["https:\/\/strictthemes.com\/articles"],"url":"https:\/\/strictthemes.com\/articles\/author\/andrian\/"}]}},"_links":{"self":[{"href":"https:\/\/strictthemes.com\/articles\/wp-json\/wp\/v2\/posts\/118572","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/strictthemes.com\/articles\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/strictthemes.com\/articles\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/strictthemes.com\/articles\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/strictthemes.com\/articles\/wp-json\/wp\/v2\/comments?post=118572"}],"version-history":[{"count":3,"href":"https:\/\/strictthemes.com\/articles\/wp-json\/wp\/v2\/posts\/118572\/revisions"}],"predecessor-version":[{"id":690251,"href":"https:\/\/strictthemes.com\/articles\/wp-json\/wp\/v2\/posts\/118572\/revisions\/690251"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/strictthemes.com\/articles\/wp-json\/"}],"wp:attachment":[{"href":"https:\/\/strictthemes.com\/articles\/wp-json\/wp\/v2\/media?parent=118572"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/strictthemes.com\/articles\/wp-json\/wp\/v2\/categories?post=118572"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/strictthemes.com\/articles\/wp-json\/wp\/v2\/tags?post=118572"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}