Front end registration and login forms (meaning placed within your site’s pages, and not the default wp-login.php) are one of the elements that really take a site out of the “standard WordPress” zone. With forms that allow your users to signup and login without ever leaving your main site, you provide a much more consistent and comfortable environment. They can provide that next level of integration that really makes your site zing. They also provide you (the developer/designer) a much higher level of control, especially in regards to styling and functionality. So it’s time to learn how to create them from scratch.

This is one of the most advanced, and in depth, tutorials that has yet to be written on this site. I’m going to walk you through creating the plugin one function at a time. If you’re not familiar with how to write plugins yet, I highly advise that you go through my Writing Your First WordPress Plugin series.
The finished plugin that you will create with this tutorial will provide two short codes: one that displays a a regular login form, and one that shows a registration form that includes the following fields:
- Username
- First Name
- Last Name
- Password
Both forms will be fully equipped with error messages that alert the user of problems with their registration or login attempts.
If you are a registered member, you will have access to download the complete plugin at the bottom of the page. The plugin I have put together for this tutorial is minimal in features and styling, as it is used primarily as an example, but there will be a full-featured version of this plugin released some time in the coming weeks.
Enough chatter, on to the good stuff!
You must be logged in to view the rest of this content. Register or login from the sidebar.

Pippin,
I am getting the following message from debug.
Notice: registration.php is deprecated since version 3.1 with no alternative available. This file no longer needs to be included. in E:\xampp\htdocs\www.ardentwriterpress.com\wp-includes\functions.php on line 2680 Notice: Undefined index: feralf_login_nonce in E:\xampp\htdocs\www.ardentwriterpress.com\wp-content\plugins\front-end-registration-login-forms\includes\handle-register-and-login.php on line 85.
A glance in the file shows
“// this is required for username checks
require_once(ABSPATH . WPINC . ‘/registration.php’);”
Did I download the wrong file?
Thanks.
I just pushed out v1.0.3 of the plugin. Is that the version you’re using?
I don’t think so. I have a paid subscription and downloaded the only file I could find.
shows “Plugin Name: Front End Registration and Login Forms
Plugin URI: http://pippinsplugins.com/front-end-registration-and-login-forms-plugins
Description: Provides simple front end registration and login forms
Version: 1.1
Author: Pippin Williamson
Author URI: http://pippinsplugins.com
Where should I download the most up to date version?
Thanks.
From this page: http://pippinsplugins.com/front-end-registration-and-login-forms-plugins/
Hello,
Pippin can you tell me how to separete error message? When you hit login or register error message appears on bouth forms.
You need to add a third parameter to the add_error() function that identifies where the error came from, then in the get_errors() function, you need to check and make sure you only display errors from that context.
Make sense at all?
I don’t know how to do it. If it’s not too much trouble could you post the edited code?
Sorry for being really slow. Here’s an example: https://gist.github.com/pippinsplugins/e56cf9586b263e46a7f1
Hi Pippin, I’ve noticed the download plugin button returns a 404 error. Have the files been moved to a different location?
Thanks, Jason
It should work now.