Membership Site Configuration

🔴 Advanced
⏱️ 45 minutes
Pro Feature

Summary

Set up a complete membership site with role-based access control, content restrictions, member-only areas, and integration with subscription plugins. Perfect for online courses, premium content sites, communities, and subscription businesses.

Prerequisites

  • ✅ Attributes User Access Pro installed
  • ✅ Custom login/registration pages created
  • ✅ Content protection plugin (Restrict Content Pro, MemberPress, or similar)
  • ✅ Payment gateway configured (if using paid memberships)
  • ✅ Email system tested and working

Step 1: Define Membership Tiers

Plan your membership structure before configuration:

Example Membership Levels

Tier WordPress Role Access Level Features
Free Member subscriber Basic content Limited articles, community access
Silver Member silver_member (custom) Standard content Most articles, basic courses
Gold Member gold_member (custom) Premium content All content, advanced courses, support
Lifetime Member lifetime_member (custom) Everything All current + future content

Step 2: Create Custom User Roles

  1. Go to Users → Attributes User Access → User Roles
  2. Click Add New Role
  3. Configure each membership role:
    • Role Name: silver_member
    • Display Name: Silver Member
    • Capabilities: read, comment, upload_files
    • Access Level: 2 (for content restriction)
  4. Repeat for each tier

Step 3: Configure Registration Forms per Tier

Create separate registration forms for different membership levels:

// Free Membership Registration
[attrua_registration_form role="subscriber" redirect_to="/welcome-free"]

// Silver Membership Registration (with payment)
[attrua_registration_form role="silver_member" redirect_to="/checkout/silver"]

// Gold Membership Registration
[attrua_registration_form role="gold_member" redirect_to="/checkout/gold"]

Add Membership-Specific Fields

  • Company name (for business memberships)
  • Job title or industry
  • Interests or specialization
  • Referral source
  • Terms & conditions acceptance

Step 4: Set Up Content Protection

Restrict content based on membership level:

Method 1: Using Shortcodes

// Show content only to silver members and above
[attrua_restrict roles="silver_member,gold_member,lifetime_member"]
This content is only visible to Silver members and above.
[/attrua_restrict]

// Show different content based on role
[attrua_restrict roles="free_member"]
Upgrade to Silver to unlock this content!
[/attrua_restrict]

[attrua_restrict roles="silver_member,gold_member"]
Welcome Premium Member! Here's your exclusive content.
[/attrua_restrict]

Method 2: Page/Post Protection

  1. Edit page or post
  2. Find Access Control metabox
  3. Select required membership levels
  4. Configure redirect for unauthorized users
  5. Add upgrade message/call-to-action

Step 5: Create Member Dashboard

Build a centralized dashboard for members:

Dashboard Components

  • 👤 Profile Management – Edit personal info, avatar
  • 🔐 Security Settings – Password, 2FA, sessions
  • 📊 Membership Status – Current tier, expiration date
  • 💳 Billing History – Invoices, payment methods
  • 📚 Content Access – Courses, downloads, resources
  • 🏆 Achievements/Badges – Gamification elements
  • 💬 Community Access – Forums, groups, messaging
  • ⬆️ Upgrade Options – Higher tier promotions
// Create dashboard page with shortcode
[attrua_member_dashboard]

// Or custom dashboard sections

Welcome, [attrua_user_meta key="first_name"]!

Your membership: [attrua_user_role_display]

[attrua_membership_status] [attrua_recent_content] [attrua_upgrade_prompt]

Step 6: Configure Subscription Integration

Connect with payment/subscription plugins:

WooCommerce Subscriptions

// Auto-assign role based on subscription
add_action('woocommerce_subscription_status_updated', function($subscription, $new_status, $old_status) {
    if ($new_status === 'active') {
        $user_id = $subscription->get_user_id();
        $product_id = $subscription->get_items()[0]->get_product_id();
        
        // Map product to role
        $role_map = [
            123 => 'silver_member',  // Silver product ID
            124 => 'gold_member',    // Gold product ID
        ];
        
        if (isset($role_map[$product_id])) {
            $user = new WP_User($user_id);
            $user->set_role($role_map[$product_id]);
        }
    }
}, 10, 3);

Step 7: Set Up Email Automations

Configure automated member communications:

Email Triggers

  • ✉️ Welcome Email – Upon registration/first payment
  • 📧 Trial Ending – 3 days before trial expires
  • ⚠️ Payment Failed – Payment method issue
  • Subscription Renewed – Successful renewal
  • Cancellation Confirmed – Membership canceled
  • ⬆️ Upgrade Confirmation – Moved to higher tier
  • ⬇️ Downgrade Notice – Moved to lower tier
  • 🎁 Special Offers – Promotions for tier upgrades

Step 8: Implement Access Expiration

Handle membership expirations gracefully:

Expiration Workflow

  1. 30 Days Before: First renewal reminder
  2. 14 Days Before: Second reminder with benefits recap
  3. 7 Days Before: Final reminder with special offer
  4. Expiration Day: Downgrade to free tier
  5. Grace Period: 7 days to renew at current price
  6. After Grace: Full downgrade, send re-engagement email
// Auto-downgrade expired memberships
add_action('attrua_membership_expired', function($user_id, $old_role) {
    $user = new WP_User($user_id);
    $user->set_role('subscriber');  // Downgrade to free tier
    
    // Send expiration email
    attrua_send_email($user_id, 'membership_expired', [
        'old_role' => $old_role,
        'renewal_url' => get_renewal_url($user_id),
    ]);
}, 10, 2);

Best Practices for Membership Sites

  • Clear tier differences – Make benefits obvious
  • Easy upgrades – Allow self-service tier changes
  • Grandfathering – Protect existing members from price increases
  • Trial periods – Offer risk-free trials
  • Cancellation flow – Make it easy but offer retention
  • Community building – Foster member engagement
  • Regular content – Consistent value delivery
  • Member feedback – Listen and adapt offerings

Review My Order

0

Subtotal