Overview
When users log in and get redirected to specific pages based on their role, those destination pages should be well-designed, functional, and appropriate for the user type. This guide shows you how to create effective landing pages.
Before You Start
- Plan your redirects: Know which roles go where
- Map user journeys: What should each role do after login?
- Identify required pages: List all destination pages needed
- Choose page templates: Full-width or sidebar layout?
Basic Page Creation
Create a New Page
Step 1: Add New Page
WordPress Admin → Pages → Add New
Step 2: Set Page Title
Examples:
- “Member Dashboard”
- “Student Portal”
- “Customer Account”
- “Employee Hub”
Step 3: Set Permalink
Click “Edit” next to permalink
Use lowercase, hyphens, no special characters
Good: member-dashboard
Bad: Member_Dashboard!
Step 4: Choose Template
Page Attributes → Template
Select: Full Width (recommended for dashboards)
Essential Page Elements
1. Welcome Message
Basic Welcome:
Welcome Back!
You're logged in as a Member.
Personalized Welcome (with PHP):
Welcome Back, display_name; ?>!
Last login:
2. Quick Navigation
Dashboard Links:
Add CSS (in Customizer or theme):
.dashboard-nav {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 20px;
margin: 30px 0;
}
.dash-link {
display: flex;
flex-direction: column;
align-items: center;
padding: 30px;
background: #f8f9fa;
border-radius: 8px;
text-decoration: none;
color: #333;
transition: all 0.3s;
}
.dash-link:hover {
background: #e9ecef;
transform: translateY(-2px);
}
.dash-link .icon {
font-size: 48px;
margin-bottom: 10px;
}
3. Role-Specific Content
Use Shortcodes to Show Different Content:
[attributes_restrict roles="subscriber"]
Member Resources
[/attributes_restrict]
[attributes_restrict roles="customer"]
Your Orders
View Order History
[/attributes_restrict]
4. Recent Activity or Updates
Show Latest Posts:
[recent_posts count=”5″ category=”members-only”]
Show User’s Recent Activity (requires plugin):
[user_activity limit=”10″]
5. Call-to-Action
Encourage Next Steps:
Ready to Get Started?
Browse our member content library:
Browse Content →
Page Templates for Different Roles
Template 1: Member Dashboard (Subscribers)
Content Structure:
- Personalized Welcome
- Quick Stats (if applicable)
- Navigation Cards:
– My Profile
– Member Content
– Community Forum
– Support
- Recent Updates
- Logout Link
Example Code:
Welcome, [display_name]!
Membership Status
Active
Member Since
[member_since_date]
Latest Updates
[recent_posts count="3"]
Template 2: Customer Account (WooCommerce)
Content Structure:
- Welcome Message
- Order Summary
- Quick Actions:
– View Orders
– Manage Addresses
– Account Details
- Recommended Products
- Support Link
Use WooCommerce Shortcodes:
[woocommerce_my_account]
Or custom layout:
Your Account
[woocommerce_order_tracking]
Template 3: Student Portal (Education)
Content Structure:
- Student Welcome
- Enrolled Courses
- Upcoming Assignments
- Progress Tracker
- Resources & Help
Example with LearnDash:
[ld_profile]
[ld_course_list]
Template 4: Employee Hub (Corporate)
Content Structure:
- Employee Welcome
- Department Links
- Company News
- HR Resources
- Time Off Requests
Example:
Employee Portal
Latest Announcements
[recent_posts category="announcements" count="5"]
Restricting Page Access
Method 1: Using Attributes Shortcode
Wrap entire page content:
[attributes_restrict roles="subscriber,customer"]
Member Dashboard
[/attributes_restrict]
Shows to non-members:
“You need to be logged in to access this page.”
Method 2: Pro Version Page Protection
If using Pro version:
- Edit page
- Find “Attributes Access Control” meta box
- Check “Restrict Access”
- Select allowed roles
- Set redirect for unauthorized users
Styling Your Pages
Use Page Builder
Compatible builders:
- Elementor
- Beaver Builder
- Divi
- Gutenberg (Block Editor)
Best practices:
- Use consistent colors
- Keep it simple and clean
- Mobile-responsive design
- Clear call-to-action buttons
Custom CSS for Dashboards
Add via Customizer:
Appearance → Customize → Additional CSS
Example Styles:
/ Dashboard Container /
.member-dashboard {
max-width: 1200px;
margin: 0 auto;
padding: 40px 20px;
}
/ Welcome Section /
.welcome-section {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
color: white;
padding: 40px;
border-radius: 10px;
margin-bottom: 30px;
}
/ Navigation Grid /
.dashboard-nav {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 20px;
margin: 30px 0;
}
.dash-link {
background: white;
padding: 30px;
border-radius: 8px;
text-align: center;
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
transition: transform 0.3s;
}
.dash-link:hover {
transform: translateY(-5px);
}
/ Mobile Responsive /
@media (max-width: 768px) {
.dashboard-nav {
grid-template-columns: 1fr;
}
}
Testing Your Pages
- Test as each role: Create test accounts for each user type
- Check mobile view: Test on phone/tablet
- Verify all links: Click every link on page
- Test restrictions: Try accessing as logged-out user
- Check logout link: Ensure it works correctly
Common Issues
Page Shows 404 Error
- Go to Settings → Permalinks
- Click “Save Changes” (flush permalinks)
- Check page is published (not draft)
- Verify permalink matches redirect URL
Content Not Restricted
- Verify shortcode syntax is correct
- Check role names match exactly (case-sensitive)
- Ensure Pro features activated (if using Pro)
Page Looks Broken
- Check theme compatibility
- Try different page template
- Clear cache (browser and plugin cache)
- Check for CSS conflicts
Pro Tips
Build one perfect dashboard, then duplicate it for other roles. Just change the content and restrictions.
Show user’s name, join date, activity stats using shortcodes or PHP. Makes experience feel personalized.
Add search bar for member content so users can quickly find what they need.