Packages Management

Access Control Overview

4 min read Updated Feb 5, 2026

Overview

Access control in WordPress Download Manager determines who can download your files. You can restrict downloads by user role, specific users, or require actions like email submission or password entry before allowing downloads.

Prerequisites

  • WordPress Download Manager installed
  • Administrator role for configuring access
  • Understanding of WordPress user roles

Quick Start

  • Edit any package
  • Find the Access Control panel
  • Select allowed roles under Allow Access
  • Save the package

Access Control Layers

WPDM provides multiple layers of access control:

┌─────────────────────────────────────────────┐
│           PACKAGE ACCESS FLOW               │
├─────────────────────────────────────────────┤
│                                             │
│  1. AVAILABILITY                            │
│     └─ Is package published and active?     │
│                                             │
│  2. ROLE BASED ACCESS                       │
│     └─ Does user's role have permission?    │
│                                             │
│  3. USER SPECIFIC ACCESS                    │
│     └─ Is this specific user allowed?       │
│                                             │
│  4. DOWNLOAD LIMITS                         │
│     └─ Has user exceeded their limit?       │
│                                             │
│  5. LOCKS (if any enabled)                  │
│     └─ Has user unlocked the package?       │
│                                             │
│  ✓ DOWNLOAD ALLOWED                         │
│                                             │
└─────────────────────────────────────────────┘

Role-Based Access

Setting Role Access

  • Edit a package
  • Find Access Control panel
  • Under Allow Access, Single or multiple user roles can be assigned. Roles:
Option Who Can Download
All Visitors Anyone, including guests
Multiple Roles Admin, Subscriber , Custom Role
Specific Roles Customer
Custom Roles Roles created by Pro Membership plugin

Common Configurations

Public Downloads:

☑ All Visitors (Guest)

Members Only:

☑ Subscriber
☑ Contributor
☑ Author
☑ Editor
☑ Administrator

Premium Members:

☑ Premium Member (custom role)
☑ Administrator

Admins Only:

☑ Administrator

User-Specific Access

Grant access to specific users regardless of role using Advanced Access Control add-on:

  • Edit the package
  • Find Select Members field
  • Enter usernames
  • Separate multiple username with commas
john_smith, jane_doe

Global Access Control( Add-on)

Set site wide default access control for all packages using WPDM Default Values add-on.

Go to Downloads > Settings > Default Values > Default Package Settings

  • Configure which user roles can access downloads
  • Set default download limits if needed

Category Level Access

Set default access for entire categories:

  • Go to Downloads > Categories
  • Edit a category
  • Set Access roles
  • All packages in category inherit these settings

Note: Package level settings override category settings.

Download Limits

Per Package Stock Limit

Limit total downloads for a package:

  • Edit package
  • Go to Package Settings > Limits & Quotas
  • Set Stock Limit
  • When reached, downloads are disabled

Per User Download Limit

Limit downloads per individual user:

  • Edit package
  • Set Download Limit Per User
  • Each user can only download X times

Lock Types

Locks add additional requirements before download:

Lock Requirement
Password Enter correct password
Email Submit email address
LinkedIn Share on LinkedIn
Twitter Tweet or follow
Facebook Like the page
reCAPTCHA Complete CAPTCHA
Terms Accept terms & conditions
Form Fill out custom form ( requires add-on)

Locks work in addition to role-based access.

See individual lock documentation for details.

Guest Access

Allowing Guest Downloads

To allow downloads without login:

  • Edit package
  • Under Allow Access, select All Visitors
  • Save package

Restricting Guest Access

To require login:

  • Don’t select All Visitors
  • Select specific roles instead
  • Guests see login button

Visibility Settings

Hide Restricted Packages

Choose whether to show restricted packages:

Only Block Download Link:

  • Package visible to everyone
  • Restricted users see Permission Denied on the download button
  • Encourages login/registration

Hide Completely:

  • Package invisible to unauthorized users
  • No hint it exists
  • More secure for sensitive content

Configure at Downloads > Settings > General > Access Settings.

Category Visibility

Categories can also be hidden:

  • Edit category
  • Set visibility roles
  • Only visible to allowed roles

Checking Access Programmatically

Check User Access

// Check if current user can access
$can_access = WPDM()->package->userCanAccess($package_id);

if ($can_access) {
    echo 'You can download this package.';
} else {
    echo 'Access denied.';
}

Check Specific User

// Check specific user
$can_access = WPDM()->package->userHasAccess($user_id, $package_id, 'package');

Get Allowed Roles

// Get allowed roles for package
$roles = WPDM()->package->allowedRoles($package_id);
print_r($roles);
// ['subscriber', 'editor', 'administrator']

Troubleshooting

Users Can’t Download

Causes:

  • User role not in allowed list
  • User exceeded download limit
  • Package has unfulfilled locks

Solutions:

  • Verify role is selected in access settings
  • Check user’s download count
  • Test unlock requirements

Everyone Can Download

Cause: “All Visitors”  selected

Solution:

  • Remove All Visitors from access list
  • Select specific roles only

Access Changes Not Working

Cause: Caching

Solution:

  • Clear page cache
  • Clear browser cache
  • Test in incognito window

Role Not Appearing

Cause: Custom role not registered

Solution:

  • Verify role exists in WordPress
  • Check plugin that creates role is active
  • Refresh roles list

Best Practices

Security

  • Use specific roles, not “All Visitors” for sensitive files
  • Implement download limits to prevent abuse
  • Use locks for high value content
  • Regularly audit access settings

User Experience

  • Clearly communicate access requirements
  • Provide easy registration path
  • Consider tiered access levels

Organization

  • Use categories for bulk access control
  • Document your access structure
  • Test as different user roles
  • Review access settings periodically

Related Documentation


Applies to: WordPress Download Manager 7.x