Course permission rules
A permission rule is the flexible way to gate a course: by role, by purchase, by subscription, or by when something was bought.
Where
Course settings → Configuration → Global permission rule, described in the editor as: This rule applies to the course and all its lessons, unless a lesson has its own permission rule.
Rules are defined in the theme options
The selector lists rules that already exist, defined once in the theme's own permission-rule settings. POM LMS selects a rule; it does not define one.
If the selector is empty, no rules exist yet. Create them first.
What a rule can require
| Requirement | Examples |
|---|---|
| Role | Is a member; is not a subscriber |
| Purchase | Has bought all of these products; any of them; none of them |
| Purchase timing | Bought on a specific date; more than N days/weeks/months/years ago; less than that |
| Subscription | An active subscription based on any or all of a set of products |
| Subscription state | A given status, and a start date before or after a point |
Rules can express requirements the simple settings cannot: members who bought the starter pack more than two months ago, or anyone with an active subscription to either plan.
One rule, many courses
The same rule can be selected on many courses. That is its strength and its risk:
- Strength — change the rule once and every course using it follows.
- Risk — change the rule carelessly and every course using it changes.
After editing a rule, test every course that selects it, with a student who should pass and one who should not.
Name rules for what they require — Active subscription — any plan — not for where they are used.
Where it sits in the order
- Login requirement, if enabled, is checked first.
- The lesson's own rule, if it has one.
- The course's rule — this setting.
- The paid-course setting, only when no rule applies.
The important consequence: a rule on the course replaces the paid-course check. Setting both means the rule decides, and the paid setting is ignored.
So choose one model per course.
The lesson override
A lesson can select its own rule, which replaces the course's rule for that lesson only. Use it for a bonus module, a section for advanced subscribers, or content released to one group.
See Lesson permission overrides.
Choosing between a rule and the paid setting
| Situation | Use |
|---|---|
| One product, one course, nothing else | Paid course |
| Several products grant access | Rule |
| Access depends on a subscription | Rule |
| Access depends on a role | Rule |
| Access starts or ends at a point in time | Rule |
| A rule already exists for this audience | Rule |
When in doubt, use a rule. It expresses more, and it keeps every course on the site using one mechanism.
Verify
- Select the rule and update the course.
- Sign in as a student who should match: the course opens.
- Sign in as one who should not: the no-access message.
- Open a lesson URL directly in each state.
- Confirm previews still behave as intended.
- If the rule is time-based or subscription-based, test an account on each side of the boundary.