Paid Memberships Pro Lock Membership Level - WordPress Plugin
Lock a user’s membership level or lock all members of a level for a specified term (for required installments).

Plugin Features
Paid Memberships Pro Lock Membership Level is a plugin that provides a robust solution for Paid Memberships Pro users, enabling the restriction of specific membership levels within their membership plans. Site administrators can seamlessly manage access and content based on member subscription levels, enhancing control over the members experience and privileges throughout the website. By leveraging this add-on, website owners can effectively enforce membership hierarchy and content restrictions, thereby optimizing their membership sites functionality. Moreover, this add-on seamlessly integrates with Paid Memberships Pro, providing a streamlined user experience for both administrators and members.
Enhance the functionality of your membership platform with the ability to control and regulate access to various membership levels using the add-on. With this feature-rich extension, website owners can strategically design different tiers of memberships while adopting a more systematic approach to managing member privileges and content accessibility. Implementing this add-on empowers site administrators to create a more tailored and exclusive membership structure, offering a unique and personalized experience to each member based on their subscription level.
By utilizing this add-on, website owners can effortlessly configure and enforce restrictions on specific membership levels, ensuring that only designated members have access to exclusive content, products, or services. With a few simple configurations, administrators can establish a structured hierarchy within their membership plans, effectively customizing the user experience based on each members subscription tier. This seamless integration allows for a hassle-free implementation process, enabling site owners to efficiently manage their membership levels and content access permissions.
Improve the overall user experience on your website by implementing this add-on, which offers advanced features for controlling membership access and privileges. This extension provides a comprehensive set of tools to manage various aspects of membership levels, including content restriction, member segmentation, and personalized user experiences based on subscription tiers. With the flexibility and versatility that this add-on offers, site administrators can refine their membership sites functionality, ensuring that members receive tailored access and benefits according to their subscription level.
Employ this add-on to strengthen the foundation of your website, enabling you to establish a more dynamic and hierarchical membership structure. By leveraging the functionalities provided by the extension, website owners can exercise greater control over their membership levels, ensuring that each tier offers distinct benefits and exclusive content. This add-on serves as a valuable tool for enhancing the overall user engagement and satisfaction within the membership site, fostering a more personalized and rewarding experience for members at every subscription level.
Specifications:
| Release date: | 11-10-2019 | |
| Last updated: | 29-09-2026 | |
| Type: | Paid | |
| License: | GPL | |
| Subject: | Access & Security for Paid Memberships Pro | |
| Compatibility: | W5.x W6.x | |
| Includes: | Plugin | |
| Language packs: |
|
|
| Developer: | Paid Memberships Pro | |
| Rating: | ||
Share with your friends!
How to Configure Paid Memberships Pro Lock Membership Level to Control Membership Level Changes
Paid Memberships Pro Lock Membership Level is not meant for standard content restriction. It is designed for a narrower administrative job: preventing a member from changing, purchasing, canceling, or switching specific membership levels until an administrator manually allows it or until a defined lock period expires. In this guide, we will look at how the plugin fits into Paid Memberships Pro, which pages and levels you need to prepare, how to configure a lock for an individual member and for a new level, how to test the result without risking your live site, and what to do if a user can still see the cancellation or checkout page.
This guide is written for membership site owners, community administrators, course managers, private club editorial teams, and developers maintaining a WordPress site. It does not cover how to purchase the product, and it is not trying to replace the official documentation. Instead, it connects the plugin settings to real-world use cases: installment plans, minimum commitment periods, manual cancellation review, problematic members, sites with multiple active levels, and redirect checks to a dedicated page.
It is important to understand the boundaries of the tool. Lock Membership Level does not block a user at the WordPress level, hide the entire site, or replace payment logic. It works around Paid Memberships Pro membership levels and the behavior of the Membership Checkout and Membership Cancel pages. That is why good configuration starts not with the Activate button, but with a clear policy: what exactly a member is not allowed to change, how long the restriction lasts, which page explains the reason, and who on your team is responsible for removing the lock.
What Problem a Membership Level Lock Solves
A typical Paid Memberships Pro site gives members several self-service actions: choose a level on the levels page, complete checkout on the Membership Checkout page, view account details, update payment information, and cancel membership through the Membership Cancel page. For most projects, that is convenient. The problem starts when self-service level changes conflict with the product rules: the member signed up on an installment plan, received access to a closed program with a minimum commitment period, frequently purchases and cancels access, or must coordinate cancellation with an administrator.
Paid Memberships Pro Lock Membership Level is built specifically for that gap between unrestricted self-service and fully manual administration. The plugin lets you apply a lock either at the individual user level or at the membership level itself. In the first case, the administrator opens the member under Memberships > Members and adds a lock for all levels or for one selected level. In the second case, the setting is added on the level edit screen under Memberships > Settings > Levels, and new members assigned to that level receive the lock automatically.
The main effect of the lock is that the user should no longer be able to follow the normal path for changing membership. If they try to open checkout for another level or the cancellation page for a locked membership, the plugin redirects them to the Membership Locked page. On that page, you can show a short explanation, support contact details, minimum-term conditions, or a link to a request form. That approach works better than a vague error because the member understands why the action is unavailable, and the administrator gets fewer messages asking whether the site is broken.
It is also important not to confuse level locking with content access restriction. Paid Memberships Pro content rules answer the question, "Which posts, pages, or blocks can this member see?" Lock Membership Level answers a different question: "Can this member change their membership through the standard account management pages?" That makes the plugin especially useful on projects where access is already configured, but you need to control user behavior at the point of cancellation, upgrade, downgrade, or re-enrollment.
Two Main Ways to Use It
The product has two practical modes, and it is best not to mix them unless you have a good reason. Individual locking works well when the decision is tied to a specific person: a disputed account, a member with special terms, a manual extension, a special agreement, or a temporary restriction after a support request. This kind of lock is targeted, which makes it easier to explain and safer to remove.
Membership-level locking works better for a system-wide rule: all new members in an annual program cannot cancel before the minimum term ends, all new installment-plan members must complete a defined number of payments, or all new free applicants must wait for an administrator decision. This mode saves time, but it requires careful setup because it affects every new member assigned to the selected level.
Key check: if the lock needs to apply to existing members, do not rely on the level setting alone. According to the official behavior, the level rule applies to new members, so existing users need to be checked separately and locked manually if necessary.
Who This Plugin Is For and When Another Approach Makes More Sense
Lock Membership Level is especially useful for sites where membership is more than just content access and is part of an agreement, learning process, club policy, or financial model. For example, an online school sells a program with monthly payments, but participation rules require a minimum commitment period. A private club offers benefits for long-term participation and does not want members dropping in and out for a few specific materials. A manually moderated community allows cancellation, but wants to receive a support request first. In these cases, a standard cancel button can create more problems than convenience.
The plugin is a good fit for administrators who already use Paid Memberships Pro and understand the structure of their levels. If the site has one simple free level, no payments, no installment plans, no conflicts around cancellation, and no need to keep members enrolled for a minimum term, a separate add-on may be unnecessary. It may be simpler to rewrite the cancellation page text, remove extra links from the account navigation, or explain the rules in email. But if a user can still open a direct cancellation URL or checkout for another level, cosmetic changes will not give you the same control as an actual lock.
There are also cases where Lock Membership Level should not be your first choice. If you need to completely block WordPress access, restrict a problematic person from the entire site, or stop spam registrations, you should be looking at user-blocking tools, login restrictions, anti-spam tools, and account moderation. If you need a complex subscription storefront with products, carts, shipping, and WooCommerce coupons, the task may be better suited to WooCommerce Memberships or WooCommerce Subscriptions. If you need a different membership engine with its own access model, it is worth comparing MemberPress or another major membership plugin.
Where the Plugin Delivers the Most Value
- Installment plans and minimum terms. The member gets access immediately, but should not be able to cancel the level on their own before the agreed period ends.
- Manual cancellation through support. Instead of canceling immediately, the user lands on a page explaining how to submit a request to the administrator.
- Problematic member behavior. The administrator can selectively block level changes for a user who repeatedly buys, cancels, and returns for short-term access.
- Sites with multiple active levels. You can lock all levels or just one specific level if your membership structure allows multiple concurrent accesses.
- Team-based support. The locked-members filter in the member list helps your team quickly see who is currently subject to a lock rule.
When to Be More Careful
Do not enable a lock without clear text for the member. If someone clicks cancel and is simply taken to a confusing page, it looks like a bug or an attempt to hide the action. You should also be especially careful on sites with active recurring payments. Lock Membership Level controls the membership-change path inside Paid Memberships Pro, but it is not a substitute for financial policy, refund rules, correct gateway configuration, or handling disputed payments. Before launch, make sure the text on the Membership Locked page does not promise anything the system does not actually do automatically.
What to Check Before Installing It on WordPress
Preparation matters not because the plugin is complicated, but because it changes a sensitive part of a membership site: cancellation, level switching, and checkout. Mistakes here are much more visible than a slightly wrong button color. Before installation, it helps to do a short review of your Paid Memberships Pro structure and understand which levels, pages, and user flows the lock will actually affect.
Basic Dependencies
The core Paid Memberships Pro plugin must already be installed and active on the site. For add-on installation through the Memberships > Add Ons screen, the official Paid Memberships Pro documentation ties premium add-on installation and updates to an eligible license type. This article does not cover purchasing or entering a key, but from a practical admin standpoint, that means if the add-on does not appear or install from the dashboard, you should verify whether add-ons are included in your plan and which installation method is allowed for your site.
Next, check your Paid Memberships Pro pages. The most important ones are Membership Checkout, Membership Cancel, Membership Account, and the future Membership Locked page. A standard cancellation page gives the member a path to cancel an active level, while the checkout page handles purchasing or switching levels. Lock Membership Level intervenes specifically when a locked membership tries to access those actions, so the pages must exist, be published, and not conflict with caching rules.
Level Structure and Groups
Paid Memberships Pro supports sites where a member can hold multiple active levels. That is helpful, but it introduces an important nuance: an All Levels lock and a lock on one specific level produce different outcomes. If a user has access to a course, a club, and an archive at the same time, blocking all changes may be too strict. You may only need to lock the installment-based level while leaving other memberships manageable.
Before installation, create a simple off-site table of your levels: level name, paid or free, whether it has an expiration date, whether it can be canceled by the member, whether it requires a minimum commitment period, and who handles manual requests. The plugin itself does not need this table, but it reduces the risk of misconfiguration. When an administrator does not have that map, they often choose All Levels just because it is faster, and later discover that the member cannot perform an action that was supposed to stay available.
Test Environment and Reviewer Role
For your first rollout, it is best to use a staging site or at least a test member assigned to a separate level. You should not test the lock as an administrator: administrators see the site differently, have broader permissions, and may never encounter the normal redirect behavior. You need a user with a member role, an active membership, and a clear history: which level is active, whether it has an expiration date, whether recurring billing exists, and which account page is available.
Quick pre-install check: Create a test level, create a test member, and make sure they can access the account, checkout, and cancellation pages. Only then should you enable the lock and compare the behavior.
Installing the Add-On and Running an Initial Check
Installation through the Paid Memberships Pro admin area usually happens under Memberships > Add Ons. The administrator finds the required add-on, clicks Install, and then activates it either in the same window or through the standard Plugins screen. An alternative method is uploading the ZIP package through Plugins > Add New > Upload Plugin. In either case, do not lock a live production level immediately after activation. First, verify that the new fields and page options appear where you expect them to.
The initial check has three points. First, the Paid Memberships Pro page settings should now include an option to assign a page for the locked-membership case. Second, the member card under Memberships > Members should contain a block for configuring locked memberships. Third, the level edit screen should display the Lock Membership Level Settings block. If one of these elements is missing, do not try to work around it with direct links. First, confirm that the add-on is active, the core PMPro plugin is working, and you are opening the correct screen as an administrator.
How Not to Confuse Installation with Configuration
A common mistake is treating plugin activation as a complete setup. An activated add-on by itself does not explain to the member why cancellation is unavailable, and it does not add rules to every level that needs them. After installation, you need to assign the Membership Locked page, configure the text or shortcode, and then choose the locking mode: user-based or level-based. Only after that does it make sense to test a cancellation or checkout redirect.
- Open
Memberships > Add Onsand make sure the add-on is installed and activated. - Go to
Memberships > Settings > Pagesand locate the additional page settings. - Create or assign a page that explains the locked-membership state.
- Open the test member in
Memberships > Membersand confirm that the lock panel is available. - Open the test level in
Memberships > Settings > Levelsand confirm that level lock settings are available.
If all three points are present, installation is complete. The next step is the most important one: creating a clear member-facing page and choosing the actual lock rules.
The Membership Locked Page and the Message the Member Sees
The Membership Locked page is not just a technical formality. It is what the member will see when they try to cancel or change a locked membership. If the page is blank or written in harsh language, support will end up handling more conflict. If the page explains the reason, the duration, the available contact path, and the next steps, the restriction feels like a clear rule rather than a site error.
The official setting is located under Memberships > Settings > Pages in the additional pages section. You can generate a new page for Membership Locked or assign an existing one. The page can use the [pmpro_membership_locked] shortcode. If you need custom wording, the shortcode accepts a message attribute, and if you want fully custom design and copy, you can remove the shortcode and use regular page content instead.
What to Put on the Lock Page
A good message answers four questions: why the action is unavailable, when or under what condition the restriction will be lifted, what the member can do right now, and where they should go if the situation is disputed. You do not need a long legal statement. For most sites, 3 to 5 short paragraphs plus a contact form or support link is enough. If the site uses installment plans, say that changing the level becomes available after the minimum period ends. If cancellation requires manual review, explain that the request will be handled by an administrator.
[pmpro_membership_locked message="Changing this membership is currently unavailable. If you believe this is an error, please contact site support."]
This example is safe because it uses the documented shortcode and message attribute. You can paste it into WordPress page content. After saving, open the page as a regular user and make sure the text is readable in your theme, is not covered by banners, and does not look like a system error.
When It Is Better Not to Use the Shortcode
The shortcode is convenient when you need a quick standard message. But for a more complex product, it is often better to create a normal page with human-friendly text, a short Q&A section, and a contact form. For example, if a member joined an annual program billed monthly, you can explain how plan changes work, clarify that access to materials remains active, and invite them to contact support. That does not change the lock logic, but it significantly reduces confusion.
Checking the Page After Saving
Once the page is assigned, do not stop at viewing it in the admin area. Log out of the administrator account or open a separate browser, sign in as a test member, and try opening the cancellation page and checkout for another level. If the lock itself is not enabled yet, there will be no redirect. That is normal. At this stage, you are only verifying that the page is published, accessible to the user, and not blocked by privacy rules.
How to Lock an Individual Member
Individual locking is the safest way to start using Paid Memberships Pro Lock Membership Level. It affects just one user, so it is easy to test, explain, and roll back. This mode is a good fit when the reason for the restriction is not a rule that applies to everyone on a level, but a specific situation: the member requested a manual installment arrangement, broke community rules, received access under a special agreement, was given a temporary restriction on plan changes, or needs one-on-one support during cancellation.
The setting is in the member record. Open Memberships > Members, find the user, choose edit, and go to the Locked Memberships panel. There you can add or update a lock. The key decision is whether to lock All Levels or one specific level. If your site uses multiple active levels, do not automatically choose all levels. First decide what you actually want to prevent: any membership changes at all, or only changes to one problematic level.
All Levels or a Specific Level
All Levels means a broader restriction: the member should not be able to change membership at all. That makes sense if the user is trying to work around site rules through repeated purchases and cancellations, or if all of their memberships are tied to the same agreement. But on a site with several independent programs, that choice can be too heavy-handed. For example, a member may not be allowed to cancel an annual course, but should still be able to manage a free club level.
Locking one specific level is more precise. It works well for installment plans, trial periods with obligations, manual access to a particular program, or a level that cannot be changed without administrator approval. If you are not sure, start with one specific level and test the actions that should remain available. It is much easier to expand a restriction later than to explain why every action suddenly became unavailable.
Expiration Date and Indefinite Locking
The plugin lets you set an end date for the lock or choose an indefinite option. A time-based lock works well for a minimum participation period: for example, the rule lasts a certain number of days, weeks, or months, or until a date calculated separately by the administrator. An indefinite lock works better when removal should always be manual: a disputed member, a no-cancellation policy without a support request, or an individual agreement.
Do not use an indefinite lock as a catch-all default "just in case." A few months later, your team may not remember why the restriction is there. It is better to add an internal note in your CRM, ticketing system, or working document. The plugin helps you apply the rule, but it does not replace your support process.
Two-Layer Locking
The official documentation describes cases where you may need two layers of locks, such as an All Levels lock for a fixed period and a separate indefinite lock for one specific level. That only makes sense in more complex business logic. Before using it, write down why each layer exists. Otherwise, after some time it will be difficult to understand why the member still cannot perform an action after the first lock period has ended.
Practical rule of thumb: if you cannot explain each lock in a single sentence, the rule is too complex. Simplify it or move part of the logic into manual support.
Locking a Level for New Members
A membership-level lock differs from a manual member lock because it creates a rule for all new members assigned to the selected level. That makes it more powerful and more risky at the same time. If the rule is configured correctly, the administrator does not have to open each new member manually after checkout. If it is configured too quickly, restrictions will start applying to new members who did not expect that behavior.
The setting is under Memberships > Settings > Levels. Open the target level for editing, locate the Lock Membership Level Settings block, enable Lock This Level?, and set the duration. The level can be locked indefinitely or until a defined period expires. That period can serve as a technical representation of a minimum commitment term: until the period ends, the member should not be able to cancel or change the membership on their own.
Why the Rule Does Not Apply Retroactively
One of the most important details is that a level lock applies to new members of that level. It does not automatically add locks to all existing members. That makes sense from a safety standpoint: changing a level setting should not unexpectedly alter the rules for your current member base. But for an administrator, this can still be surprising if the goal is to close cancellation for everyone already enrolled in the program.
If you need to cover existing members, create a separate plan. The simplest path is to open each required member manually and add the lock in their member record. For a large member base, it is better to involve a developer or support first, because applying rules in bulk through code without testing can damage the user experience. This article intentionally does not include a bulk PHP snippet: the official source indicates that for this kind of task, it is better to get help with custom code or use manual setup.
Locking and Membership Expiration Are Different Things
Lock Membership Level is not the same thing as a level expiration date. If a membership has its own expiration date, the level can still expire and be removed from the account even when the lock is enabled. The lock is about controlling changes and cancellation, while the expiration date controls the lifecycle of the membership itself. If you want the membership to remain active automatically, review the level expiration settings and the specific member record.
In practice, that means installment plans or minimum participation periods require two separate rules to be aligned. First, how long the member has access and how the membership is renewed. Second, when they are allowed to change or cancel the level on their own. If those two rules are configured independently and nobody checks the interaction, you can end up with a confusing result: the member is blocked from canceling, but the level itself expired because of a different setting.
Practical Example: A Minimum Term for a Program on an Installment Plan
Let us look at a concrete scenario. A site sells a private educational program through Paid Memberships Pro. The member gets access immediately, but pays for the program in installments. The site owner wants to make sure the member cannot cancel the membership on their own before the minimum term ends. At the same time, support should still be able to review exceptions manually.
Goal
You need to configure the level so that new program members receive a membership-change lock, and any cancellation attempt sends them to a page with an explanation and a support link. Existing members are left untouched for now, so you do not introduce a mass change without a separate review.
Preparation
- The core Paid Memberships Pro plugin is installed, and the account, checkout, and cancellation pages are already configured.
- A program level has been created that gives members access to the course materials.
- You have a test user with no administrator privileges.
- The
Membership Lockedpage text has been prepared with an explanation of the minimum term and a way to contact support. - The team understands that existing members will not receive the rule automatically.
Setup Steps
- Go to
Memberships > Settings > Pagesand assign theMembership Lockedpage. - On the lock page, add a short message or the
[pmpro_membership_locked]shortcode with a clearmessageattribute. - Open
Memberships > Settings > Levelsand select the program level. - In the
Lock Membership Level Settingsblock, enableLock This Level?. - Choose a lock duration that matches the minimum participation period.
- Save the changes using
Save Changes. - Purchase the test membership with a new test user, or create the member using the same process you normally use on your site.
- Log in as that user and try opening the cancellation page or checkout for another level if that kind of change should be blocked.
Expected Result
The test member should not be able to complete the standard cancellation flow or switch away from the locked level. Instead, they should see the Membership Locked page. In the member list, the administrator should be able to filter or identify the locked user within the PMPro context. If the member purchased the level before the rule was enabled, the lock may not appear automatically, and that is not a bug - it is how the level logic works for new members.
A Detail That Often Gets Missed
If the site uses page caching, aggressive optimization, or static caching for personalized account pages, the result may look inconsistent. For account, checkout, cancellation, and lock pages, it is best to follow normal membership-site practice: do not cache personalized member actions, and always test them under a real user account. If the member still sees an old page after configuration, clear the cache first and review your exclusion rules for PMPro pages.
How to Verify the Result After Configuration
Verification should follow the user path, not the admin path. Administrators see extra panels, can bypass certain restrictions, and are often already logged into WordPress. You need a test member with an active level covered by the lock. It is best to use a separate browser or a private window so the admin and user sessions do not get mixed.
Testing the Cancellation Page
Open the Membership Account page as the test member and move to the cancellation step. If the level is locked, the user should not be able to complete cancellation through the normal flow. They should be sent to the Membership Locked page or shown the explanation you prepared. If cancellation still works, check which level is actually locked, whether the user has multiple levels, and whether you are testing the same level that the rule applies to.
Testing the Checkout Page
Try opening checkout for another level. PMPro documentation shows that checkout can be tied to a specific level through a URL parameter. Because of that, you should test not only the button on the levels page, but also any direct checkout link used in email, menus, the user account area, or marketing materials. If the user can still proceed to payment for another level, verify whether the lock is set to All Levels or only to one specific level, and make sure that matches your goal.
Checking the Member List
Open Memberships > Members and use the locked-members filter if it is available in your add-on version. This is useful not only for oversight, but also for support. When a member says they cannot cancel or change a level, the support agent should be able to quickly see whether a lock exists, which level is affected, and when the restriction is supposed to end.
Checking the Payment Logic
If the lock is tied to a paid subscription, do not draw conclusions based on the WordPress interface alone. Verify that the site rules match the payment settings in Paid Memberships Pro and in the chosen gateway. The lock prevents self-service changes or cancellations through PMPro, but the financial side of membership still depends on your broader payment setup, timelines, email flows, and support policy. Do not promise members automatic financial actions unless those actions are configured and confirmed by your actual workflow.
Communication, Support, and Safe Improvements to the Page
Technically, you can enable the lock in a few minutes, but the user experience is defined by the wording and the support process. If the member understands why the restriction exists, sees the timeframe, and knows where to go next, the lock works as part of the product. If they only see a restriction, it looks like something is broken. That is why, after configuration, it is worth spending time on the Membership Locked page, related emails, and an internal guide for your team.
What the Support Team Should Know
A support staff member does not need to understand the code. But they should understand three things: where to view the member lock, how an all-level lock differs from a lock on one specific level, and how to remove or change the rule if an administrator approves it. For that, a short internal note is useful: go to Memberships > Members, find the user, open edit, review Locked Memberships, and do not change the level or duration without confirmation from the responsible team member.
How to Improve the Text Without Code
The safest way to improve the page is with standard WordPress blocks. Add a heading, a short explanation, a list of possible reasons, and a contact form. There is no need to embed complex JavaScript or edit plugin files. If the theme allows it, add a support contact block and a link to participation rules. The main thing is not to hide the page from logged-in members and not to apply aggressive caching to it.
Example page structure:
- Short explanation. Changes to this membership are temporarily unavailable under the program terms.
- What stays active. Access to the materials remains available under the current membership as long as it has not expired under separate rules.
- What to do next. If you need to cancel or change the level, send a request through the support form.
- Response time. Include your internal request-handling timeframe if your site policy defines one.
What Not to Do
Do not edit Paid Memberships Pro or add-on files directly. Those changes are easy to lose during updates. Do not hide the cancellation page with CSS alone if the direct URL is still accessible. Do not promise that the lock will resolve payment disputes if your payment and refund policies are not clearly defined. And do not use indefinite locking without an internal reason, because over time your team will forget why it was added.
Safe principle: anything involving money, cancellation, and access should be explained to the user in plain language and backed by an internal support process. The plugin applies the rule, but it does not replace your site policies.
Why the Lock May Not Work the Way You Expected
Troubleshooting Lock Membership Level comes down to one question: where exactly did the rule, the member, and the user path stop matching each other? The plugin may be installed correctly, but the result can still look wrong if the lock is applied to the wrong level, existing members were expected to behave like new ones, the lock page was never assigned, or testing is being done from an administrator account.
The Member Can Still Cancel the Membership
Symptom: the test user opens Membership Cancel and completes cancellation even though the administrator expected a lock. A likely reason is that the lock is applied to a different level, only applies to new members, was never added to this specific existing user, or the test is being run under an account with elevated permissions.
What to check: open the member record under Memberships > Members, review their active levels, and inspect the Locked Memberships panel. If the lock was enabled in the level settings after the member had already joined, add the rule manually for that user or test with a new member.
How to fix it: configure a lock on the specific level or on All Levels, depending on your goal, set the duration, and repeat the test in a separate user session. If cancellation has already gone through, restoring the membership depends on normal PMPro and payment behavior, so do not make bulk changes without a backup.
The User Lands on the Wrong Page
Symptom: when trying to cancel or switch levels, the user sees the standard page, the login page, a blank screen, or a theme message instead of a clear lock page. A likely reason is that the Membership Locked page was never assigned, is unpublished, is blocked by access rules, or is conflicting with caching.
What to check: open Memberships > Settings > Pages, find the assigned lock page, and verify its publication status and direct URL availability. Make sure the page itself is not protected by a membership rule that prevents the locked member from opening it.
How to fix it: assign a published page, add clear content or the shortcode, clear the cache, and test the user path again. If you are using a page builder, temporarily replace the complex layout with plain text so you can separate a design issue from a redirect issue.
The Level Lock Did Not Affect Existing Members
Symptom: new members receive the lock, but older members can still change or cancel membership. This is expected behavior for a level-based rule: it applies to new members who join the level after the rule is configured. Existing members do not receive the lock automatically.
What to check: compare the date when the member joined the level with the date when the rule was enabled, and open their individual lock settings. If the user record does not contain the rule, the plugin has nothing to apply to that existing membership.
How to fix it: add the lock manually to the existing members who need it, or create a separate task for a developer. Do not paste unverified bulk code from random sources: mistakes in mass membership updates can affect billing, access, and support.
The Level Expired Even Though the Lock Was Enabled
Symptom: the member could not change membership, but the level still disappeared or expired. A likely reason is that the membership itself had an expiration date. The lock controls changes and cancellation, but it does not override the level expiration setting.
What to check: open the member data and the level settings and review the membership expiration period. If expiration is not needed, it must be removed or changed in the standard membership settings, not in the lock settings.
How to fix it: separate the two tasks. For access, configure the level duration and renewal behavior. For blocking self-service actions, configure Lock Membership Level. After making changes, test the account and cancellation page again with the test member.
The Locked Members Filter Is Empty
Symptom: the administrator expects to see a list of locked users, but the filter shows nothing. A likely reason is that the lock has not yet been applied to any existing member, the level rule is still waiting for new signups, or you are looking at the wrong list.
What to check: create a new test member for a level with locking enabled, or add an individual lock to a test user. Then open Memberships > Members and check the filter again.
How to fix it: do not draw conclusions from an empty filter before running a test signup. If the member still does not appear after testing, verify that the rule was actually saved and that you are not confusing the PMPro list with the standard WordPress Users screen.
Cache Is Showing an Old State
Symptom: one test shows the lock, while another shows the old cancellation or checkout page. A likely reason is page cache, object cache, CDN cache, or an optimization layer that does not account for logged-in members.
What to check: exclude the account, checkout, cancellation, and lock pages from caching. Check the result in a private window, then as the test member. If the site uses a CDN, review its caching rules for personalized pages.
How to fix it: clear the cache, add exclusions, and run the test again. If the behavior becomes consistent, document those exclusions in the site's technical documentation so future optimization work does not break membership actions.
Frequently Asked Questions About Paid Memberships Pro Lock Membership Level
Can I block only cancellation but still allow upgrades?
The plugin is described as a tool for blocking membership level changes, including attempts to buy a new level or modify the current one. Because of that, you should not assume it can cleanly separate every possible action without additional logic. If you need to allow one type of change but block another, first test the behavior on a staging level and then check the documentation or consult a developer for precise customization.
Why did the level lock not appear for older members?
The rule on the level edit screen applies to new members of that level. Older members do not receive the lock automatically. For them, use the individual lock in the member record or plan a separate, carefully reviewed migration with a developer.
Can I use the plugin for a free level?
Yes, the plugin can still be useful for a free level if members should not be allowed to cancel or change access on their own without administrator approval. But first make sure the restriction is truly necessary. For a simple free club, it may be enough to rewrite the account page and support text.
Will the lock affect access to protected content?
The lock itself controls membership changes, not content access rules. Access to materials is still handled by level settings and content controls in Paid Memberships Pro. If the level has an expiration date or the user lost membership for another reason, the lock should not be treated as a guarantee that access will remain active.
What is better to choose: All Levels or one specific level?
For an initial rollout, one specific level is usually the safer choice. Use All Levels when you truly need to prevent any membership changes for the user. On sites with multiple active levels, an overly broad lock can block actions that should remain available.
Do I need to disable caching for PMPro pages?
For personalized membership pages, that is usually the right approach. Account, checkout, cancellation, and lock pages all depend on the logged-in user and their levels. If caching shows an outdated state, lock troubleshooting becomes unreliable.
Is there an exact video tutorial for this add-on?
The product page mentions demo material, but while preparing this guide, it was not possible to reliably identify a dedicated YouTube embed for Paid Memberships Pro Lock Membership Level specifically. For that reason, no video is embedded here, to avoid adding random material about membership plugins in general.
When Paid Memberships Pro Lock Membership Level Is the Right Choice
This add-on is worth using when you already run a site on Paid Memberships Pro and you have a clear administrative need: keep a member on a level until a minimum term ends, prevent self-service cancellation for an installment-based level, stop repeated purchases and cancellations, move cancellation into a manual request flow, or manage a specific user's membership individually. In those situations, Paid Memberships Pro Lock Membership Level gives you more precise control than simply rewriting the cancellation page text.
Before rollout, verify four things: whether you have a clear Membership Locked page, whether the correct locking mode is selected, whether the normal member path has been tested, and whether level locking is being kept separate from membership expiration. Once those points are covered, you can download the ZIP package, install it on a staging site, and test the scenario on one level before enabling it in your live structure.
The healthiest approach is to start with the smallest rule and a real test. Lock one test member, verify the cancellation page, checkout for another level, the locked-members filter, and the support-facing wording. Then move the rule to the required level only after your team understands who will see the restriction, why it exists, and how to remove it safely.


