It seems to be more and more common for companies to have special areas of their websites specifically for their existing clients. There are a lot of reasons this approach can be a great business strategy. Not only are you able to reward your loyal customers with rewards, you are also encouraging additional interactions and client registrations. While you should always avoid using registration data for malicious reasons it can be a great way to develop a list, evaluate your marketing demographics or get feedback.
While WordPress has a fairly fully functioning registration system out of the box it is really designed for subscribing to a blog and leaving comments. However with a few plug-ins and some tweaks it is pretty easy to develop a full featured client section through your WordPress Installation.
The Behavior
Typically a client area works something like this:
- Client registers for access (or you may want to manually give them access)
- They are either approved or auto sent a username / password
- They can now login and are forwarded to a section of the site that contains special content, downloads, etc...
- When they are done they log out.
WordPress can do quite a bit of this for us, including user registration, private pages and the assignment of username and password. The areas in which we would like to get a bit more capabilities would be a more streamlined login page (one that matches the theme vs the WordPress admin login), forwarding the user to the proper area and collecting more information about the customer than just username and password.
Collecting More Data
The first step is either creating a user for clients (if you want to be more selective and hand them out on a case by case bases) or allowing them to register for the client area. While the WordPress user profile does allow the storing of some basic information it is not included in the normal registration process and leaves out some potentially important details. With the Register Plus plugin you can add common fields such as phone number, address, etc... but you can also manually create additional profile fields and include them in the registration form.
Moderate Registrations
Worried that just anyone is going to sign up and access the special area? The appropriately titled New User Approval plugin has got you covered. Now you will be e-mailed when a user tries to register and can manually approve or disallow case by case.
Move Users in the Right Direction
Now when a user logins in you probably don't want them to go to the dashboard. This would be pretty confusing and disorienting and they likely would have little idea on how to get to the client section they were interested in. With Peters Login Redirect plugin you can choose exactly where logged in users will go. Typically this will be done based on userlevel, however if you are looking to have content and information specific to a given client then you can also redirect them to pages based on their username.
Protecting Pages
Now the whole point of all of this is that we want some content to only be available to some users. At the most basic level all you have to do is change the default visibility with in the publishing properties from "Public" to "Private." However this only works if you don't mind all registered users being able to see all of the private content. IE: It is an "all or nothing" system. If you need more granularity then it is time to install the User Access Manager plugin, which will give you the capability to setup groups which have access to specific pages and sections.
Better Login & Register
While the Register Plus plugin will let you change the default login logo from WordPress to your own, it is highly unlikely that the login page will actually match the rest of your sites design. While you could figure it is close enough and be on your marry way it wouldn't be a bad idea to include a login form from one of your templates. This way the users experience is never put at jeopardy and there is no risk of confusion.
While you could simply hard code the form HTML from the login page it is much easier to use one of the many available plugins to facilitate the experience.
These plugins will help you integration the login and registration forms into your site rather than take them to the WordPress styled administrative register / login pages.
Build, Build, Build
Once you have these plugins put together you should be ready to build out the content like you would any other pages in WordPress. This is a simple and easy way to go about making a WordPress Client area. Depending on your creativity it wouldn't be hard to develop Calendars for specific groups, file upload sections, etc... Really the possibilities become endless.
In a later post we will cover how to build a more complex client area for WordPress using current_user information and extra fields.
Have some feedback? Leave a comment






Pingback: How to Create a Client Area in Wordpress
it’s great!
All I am missing is to include a paid membership option at the time of Registration. May be it’s work of Register Plus Plugin developer to add this functionality.
Thanks
Wow, that’s exactly something what I wanted these days.. Its on perfect timing!
With some more awesome customizations, I’m also going to add a client-area to my website’s new upcoming design.
Thanks a lot for sharing!
Pingback: Create a Client Area in Wordpress | StylizedWeb.com | WordPress News
Pingback: Create a Client Area in Wordpress | StylizedWeb.com | WpMash - WordPress News
Hi Ankit, there are quite a few plugins out there that will let you sell subscriptions for membership. Most of them are all premium non-GPL however. I haven’t used it but you might want to give s2member a try http://wordpress.org/extend/plugins/s2member/
@Enk – Make sure to post back with what customizations you were able to do!
Me parece interesante este blog sobre diseño web y realmente las aplicaciones son las mejores.
Jim
Dominiocolectivo.com
Pretty complete listing of plugins to get the functionality you’d need to pull this off, awesome. Thanks.
If there is an image or .zip on a page that only a certain client should have access to, how would you go about making sure that file could only be viewed/downloaded through the wordpress page and could not be viewed/downloaded by it’s direct url? Putting the files on your server where they are only accessible through php, and then linking access to wordpress authentication somehow? Is there any plugin you know of that does this, or that otherwise protects your content from unauthenticated viewers?
Its amazing.Thank you for sharing.
interesting read, nice article.
good article, have been looking around for some good info on this
Really good read. Thanks, it burned 10minutes of my day
…. didn’t know about peter’s redirect plugin untill now (Y) will defo use that
Looking at the image sweb-login.png above. What plugin does that use to add that to the frontend?
Its just what I’ve been looking for
Thank you!
throat cancer surgeries used to be looked at and all of these operations were made more frequently in the larynx was taken. Now for the disease in the early diagnosis can be caught earlier. Laser application, the problem of hoarseness can be treated and residents can go from the hospital the same day. These steps away from cigarettes and alcohol to absent oneselfsumomax
need to focus.
While WordPress has a fairly fully functioning registration system out of the box it is really designed for subscribing to a blog and leaving comments. However with a few plug-ins and some tweaks it is pretty easy to develop a full featured client section through your WordPress Installation.
Love the footer part of your site
Pingback: Client login - DesignersTalk
Hi, nice article. I am having a few issues you might be able to advise me on.
I want to create a page on my site that specific clients can access. I have followed your steps but am running into a few issues
1) If they place wp-admin after the URL they will reach the dashboard. I want my clients to login and purely get access to a customer page unique for them, not go anywhere near the CMS if they know the URL. Is there a way to do this?
2) I am a little confused with the roles. Per my point above, my customer page will act like am order form for them to fill out and send me. When I set the role permissions to subscriber or contributer, I get a 404 on the private page. I set it higher to admin or editor and it works. However I am afraid they might be getting access to something else at that level?
I think what would be nice would be a plugin of some kind that when I am in the editor and I go to mark the page as “private” it allows me in a drop down to pick from a number of users to have access.
Thanks //Red
görüntülü sohbet platformu
Nice article. We’re trying to build a pretty advanced client area. Got some good ideas now.
Whats up! I just would like to give an enormous thumbs up for the great info you’ve got right here on this post. I can be coming again to your blog for more soon.
Another interesting approach is enabling the “php in pages” plugin, and using the “is_user_logged_in()” function to set a session variable. This way you can show or hide content depending. if the session variable matches md5($user_login), then you have a way to have assigned content areas (given you make a mysql table for it). Good article.
Love the footer part of your site
Thanks for the article… but whatever happened to the follow up article? You kind of stopped right when the real information about building the actual client area comes in…
En güzel oyunlar bu sitede sizler için
I’m planning to create a client portal in WordPress, and your tips will surely help.
Pingback: Área de Clientes no Wordpress – Introdução « Snippets Wordpress
You are probably aware, but the first link of your article: Register Plus plugin doesn’t work. The page no longer exists. Any thoughts on which plugin to use to replace it?
I too am struggling with finding a replacement for Register Plus. Also, how automated is each client’s page or is that something we would have to script ourselves, i.e. if a new user registers, is a page created for them or do we then have to go in and create the page from the admin?
Hi there very cool site!! Guy .. Excellent .. Superb .. I’ll bookmark your blog and take the feeds also?I’m satisfied to find so many helpful info here within the post, we need develop more strategies on this regard, thanks for sharing. . . . . .