Password Lock

Overview

Password lock protects downloads by requiring users to enter a correct password before accessing files. It’s ideal for sharing files with specific groups, clients, or controlling access without requiring user accounts.

Prerequisites

  • WordPress Download Manager installed
  • At least one published package
  • Editor or Administrator role

Quick Start

  • Edit a package
  • Find Lock Options panel
  • Enable Password Lock
  • Enter password(s)
  • Save package

Enabling Password Lock

Step 1: Access Lock Settings

  • Edit any package
  • Scroll to Lock Options or Access/Update Lock panel
  • Find the Password Lock section

Step 2: Enable and Configure

☑ Enable Password Lock

Password(s):
┌─────────────────────────────┐
│ secretpass123               │
└─────────────────────────────┘

Step 3: Save

Click Update or Publish to save.

Password Options

Single Password

Enter one password for all users:

Password: download2026

All users use the same password.

Multiple Passwords

Enter multiple passwords, one per line:

clientA_pass
clientB_pass
internal_team

Any of these passwords works. Useful for:

  • Different clients
  • Multiple departments
  • Tracking which password was used

Password Usage Limits

Limit how many times each password can be used:

Field: Usage Limit Per Password
Value: 10

After 10 uses, that password expires. Others remain active.

Password Expiration

Set passwords to expire after a date:

Field: Password Expires
Value: 2026-12-31

User Experience

What Users See

When a package is password-locked:

  • User clicks download button
  • Password form appears (popup or inline)
  • User enters password
  • On success: Download starts
  • On failure: Error message, retry option

Password Form

┌─────────────────────────────────────┐
│     🔒 Password Required            │
├─────────────────────────────────────┤
│                                     │
│  This download is protected.        │
│  Please enter the password:         │
│                                     │
│  ┌─────────────────────────────┐   │
│  │ ●●●●●●●●●●                  │   │
│  └─────────────────────────────┘   │
│                                     │
│  [Submit]  [Cancel]                 │
│                                     │
└─────────────────────────────────────┘

Error Messages

Wrong password:

Incorrect password. Please try again.

Expired password:

This password has expired.

Usage limit reached:

This password has reached its usage limit.

Display Modes

Popup Mode

Password form appears in modal overlay:

  • Doesn’t navigate away from page
  • Clean, focused interface
  • Default behavior

Inline Mode

Password form appears below download button:

  • Visible without clicking
  • Better for embedded content
  • Configure in shortcode

Iframe Mode

Password form in iframe:

  • Isolated from page styles
  • Used in popups and modals

Configuration Options

Lock Settings

Option Description
Enable Password Lock Master toggle
Password(s) The password(s) to accept
Usage Limit Max uses per password
Expire Date When passwords expire
Case Sensitive Require exact case match

Global Settings

At Downloads > Settings > Security:

Setting Description
Max Attempts Lock out after X failures
Lockout Duration Minutes before retry
Show Hint Display password hint

Use Cases

Client Deliverables

Share files with clients using unique passwords:

Passwords:
acme_corp_2026
globex_jan
initech_q1

Each client gets their own password.

Event Access

Provide access to event attendees:

Password: CONF2026ATTENDEE
Usage Limit: 500
Expires: 2026-02-01

Internal Sharing

Share with team without accounts:

Password: team_internal_only

Time-Limited Offers

Create urgency with expiring access:

Password: flash_sale
Expires: 2026-01-31

Combining with Other Controls

Password + Role Access

Require both login AND password:

Access: Subscribers only
Lock: Password required

User must be logged in as Subscriber AND know password.

Password + Email Lock

Collect email AND require password:

Locks:
☑ Email Lock
☑ Password Lock

User must submit email AND enter password.

Password + Terms

Require password AND terms acceptance:

Locks:
☑ Password Lock
☑ Terms & Conditions Lock

Password Security

Best Practices

Do:

  • Use strong, unique passwords
  • Change passwords periodically
  • Use different passwords for different groups
  • Enable usage limits for shared passwords

Don’t:

  • Use easily guessable passwords
  • Share passwords in insecure channels
  • Use the same password for all packages
  • Leave passwords unchanged indefinitely

Password Strength

Recommendations:

  • Minimum 8 characters
  • Mix of letters and numbers
  • Avoid dictionary words
  • Consider passphrases

Secure Delivery

Deliver passwords securely:

  • Encrypted email
  • Secure messaging
  • Phone call
  • Separate from download link

Tracking Password Usage

Usage Statistics

Track which passwords are used:

  • Go to Downloads > Statistics
  • Filter by package
  • View password usage column

Usage Logs

For detailed logging, check download logs:

User IP | Date | Package | Password Used
192.168.1.1 | 2026-01-24 | Package A | clientA_pass
192.168.1.2 | 2026-01-24 | Package A | clientB_pass

Customizing Password Form

CSS Styling

/* Password form container */
.wpdm-password-form {
    max-width: 400px;
    margin: 0 auto;
    padding: 30px;
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* Password input */
.wpdm-password-form input[type="password"] {
    width: 100%;
    padding: 12px;
    font-size: 16px;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
}

/* Submit button */
.wpdm-password-form button[type="submit"] {
    width: 100%;
    padding: 12px;
    background: #4f46e5;
    color: white;
    border: none;
    border-radius: 6px;
    font-size: 16px;
    cursor: pointer;
}

/* Error message */
.wpdm-password-form .error {
    color: #dc2626;
    margin-top: 10px;
}

Custom Labels

Filter password form labels:

add_filter('wpdm_password_form_labels', function($labels) {
    $labels['title'] = 'Enter Access Code';
    $labels['placeholder'] = 'Your access code';
    $labels['submit'] = 'Unlock Download';
    $labels['error'] = 'Invalid access code';
    return $labels;
});

Troubleshooting

Password Not Working

Causes:

  • Typo in password
  • Case sensitivity mismatch
  • Password expired
  • Usage limit reached

Solutions:

  • Double-check password spelling
  • Try lowercase if case-insensitive
  • Verify password hasn’t expired
  • Check usage count

Form Not Appearing

Cause: JavaScript error or conflict

Solution:

  • Check browser console for errors
  • Test with default theme
  • Disable other plugins temporarily

Locked Out

Cause: Too many failed attempts

Solution:

  • Wait for lockout to expire
  • Clear browser cookies
  • Reset lockout in admin

Password Field Empty

Cause: Package password not set

Solution:

  • Edit package
  • Enter password in Lock Options
  • Save package

Related Documentation


Last updated: January 2026
Applies to: WordPress Download Manager 7.x

Last updated on January 26, 2026

Need Help?

Get support from our team or community forum.

Visit Support

Customization

Need custom features? We can help.

Request Quote