Access reasons and actions
The Access column in My courses tells each student why a course is open to them. It is the most useful support tool in the plugin, and it is worth knowing exactly what it can say.
The four reasons
| Shown | Meaning |
|---|---|
| An active subscription for a product | A subscription product covers the course, and the subscription is active |
| Because you purchased a product | A completed one-off order grants it |
| Access granted by permission rule | A permission rule matched this student |
| Free course | The course has no access requirement |
In the two purchase cases the product name is a link, so the student can open the product they bought.
Reading them
Each reason answers a different question a student might ask.
"An active subscription for …" — access lasts while the subscription does. If it lapses, the course leaves the list. This is the reason to point at when explaining renewals.
"Because you purchased …" — a one-off purchase. Access persists unless the order is refunded or cancelled, or a time-based rule closes the window.
"Access granted by permission rule" — a rule matched: their role, their purchase history, a date condition, or a subscription state. It deliberately does not say which rule. Students do not need your access model, and a rule name written for staff is not a customer-facing string.
"Free course" — open to anyone who meets the login requirement, which may be none.
Why the column matters
When a student writes "why can I see this?" or "how long do I have?", the answer is already on their screen. Point them at it before investigating anything.
It also catches configuration mistakes. A course you intended to sell showing Free course means the paid setting was never enabled — visible at a glance in a student's account, and worth checking on your own test account after any change.
The action
One action per row: Access the course, which opens the course page. There is nothing else — no download, no unenrol, no certificate, no receipt.
Order history stays where it belongs, in the WooCommerce Orders area of the same account.
When a reason disappears
There is no expired or lapsed state in this list. A course whose access has ended is removed entirely — the student sees one fewer row, with no explanation.
That silence is why the empty message should mention lapsed access, and why renewal reminders have to come from your mailing tool.
Multiple grounds for access
A student may qualify several ways at once — a rule and a purchase, say. The column states one reason, following the same precedence the plugin uses to decide access: login gate, then rule, then purchase.
If a student insists they bought a course and the column credits a rule, both are true. The rule was simply checked first.
Verify
- Prepare test accounts: one free-course student, one purchaser, one subscriber, one covered by a rule.
- Open My courses as each.
- Confirm each reason reads as expected, and that product links resolve.
- Confirm Access the course opens the course in every case.
- End one subscription and confirm the row disappears.