The idea of creating another login plugin started after I tested several login widgets and none of them met my total needs. My first and the most important need was to have the same layout for all the pages including the login pages (register, lost password and profile). Most of those plugins use the WordPress standard login pages that show the WordPress logo and the form. Although it is possible to replace the WordPress logo, the layout still looks different. Another option is to create custom pages for those login procedures but there are no too much tutorial and documentation out there. A second need was to be compatible with WordPress multisite and restrict access to registered users of the site. The tested plugins worked fine with WordPress multisite but they allow any registered user to access to the current site. A third and last need was to use a login button instead of a login form that will open a signup form once it is clicked. After searching a while in WordPress plugin directory, I was unable to find any plugin with the desired need.
At the beginning, I was hesitating to develop another login plugin and I was considering to create just the custom pages for new user registration, lost password and profile because I didn’t want to spend too much time on that. After finding just one tutorial and being unsuccessful creating the pages, I decided to invest part of my time in creating another login plugin with all my needs because I was planning to develop some plugins for WordPress after all.
To start developing the plugin, I came up with a name based on what my plugin does. But after attempting to submit my plugin to WordPress, I realized that the name was already taken by other plugin. So, I had to rethink on another name and change the directory and file names, and the classes inside the files. Then, I had to re-test everything to make sure the plugin worked as before. Therefore, it is better search for the proposed naming in the plugin directory on WordPress before programming. To develop this plugin, I used two plugins as a base code: sidebar login for the login validation and form and bbpres for the virtual login pages. For the modal form, I used jQuery UI dialog and jQuery redmond theme. To allow plugin users changing the theme for the login button and form, the jQuery theme was registered in the wp_enqueue_scripts hook. The details about changing the theme are explained in the Place Login User Guide.
Instead of using WordPress standard login pages, this plugin has its own default pages that fits with the blog template theme. Those pages have a template file stored in the template directory of this plugin and they can be modified if they are copied to the WordPress theme directory. Only the lost password page is identical than the WordPress standard login pages. The new registration user page allows you to enter the first name, last name and password in contrast to WordPress standard registration page. The downside of this page is not to verify the email as WordPress does but I will work on that for the next release. And the edit profile allows you to modify only the data asked in the user registration page different from the WordPress that allows you to edit much more user information and give you access to the WordPress administration dashboard.
Although creating this plugin was a long learning process and time consuming, those efforts were satisfied by having a login plugin that does what I needed. Moreover, I expect this plugin can help to other WordPress users who have similar login needs as I had it.