I thought I'd take a moment to present you with an updated version of tzeldin88's post on how to create a client portal for WordPress without buying a plug-in.
If the following sounds like you, read this post:
I am trying to build a wp site for a company that wants their clients to be able to login and see a restricted-access, personalized page of content, links, downloads, etc. Simple enough in the real world, but quite a challenge in wp, for a newbie anyway.
Step 1: Install Plugins:
- Members (By Justin Tadlock)
- Peter's Login Redirect (By Peter)
Step 2: Configure Plugins:
- Settings -> Members : Make sure the following is selected:
- - "Enable the role manager"
- - "Enable the content permissions feature"
- - "Enable the login form widget"
- - "Enable the users widget"
- > Users -> Add New Role : Create a role called "User" and make sure only "read" is selected under Capabilities.
(you might be able to skip this step if not running 3.5)
- Plugins -> Editor : Peter's Login Redirect won't appear in the menu if you're using 3.5, so hack their files until they fix the issue
- - go to: peters-login-redirect/wplogin_redirect.php
- - find line 1472 and replace "$rul_required_capability" to "8"
- Settings -> Login/Logout Redirect : under Specific Roles, select "User" and then enter "[variable]username[/variable]" as the URL
Step 3: Create a page template
- I personally use Advanced Code Editor, which makes editing code very easy in WordPress. From Appearance -> Editor select "Create New File"
- Name it "Login"
- Enter in the following:
<?php /* Template Name: Client Portal */ ?>
Then insert your theme elements. Make sure to include this tidbit somewhere as well:
<?php global $current_user; get_currentuserinfo(); $page = get_page_by_title($current_user->user_login); _e($page->post_content); ?>
The following, however, did not work for me, so I actually just used the widget.
Here's a link on how to create a widget area.
Note: Some have found success by deleting:
- Create a new page and make sure to select "Login" as the template.
Step 4: Now, what about clients and their pages?
- Create a user account for each client and set their role as "User"
- Create a page for each user. Make sure the page is the same exact name as the client's username.
- Create a gallery on the page or whatever content you wish to deliver to them. Make sure to make the login page the parent page and that the page is hidden from prying eyes by setting content permissions.
That should be it. There may or may not be huge wholes in what I just wrote, but... if not... celebrate.