Overview
This module shows learners how many days remain until their course access expires. LearnDash can already display a fixed expiry date; use this when a countdown (“expires in 12 days”) is more motivating or clearer for your learners.
LearnDash natively offers a shortcode that prints the date a learner’s course access ends. This module takes a different angle: instead of a date, it outputs the number of days left. That countdown framing is useful for renewal prompts, urgency messaging, and any place you’d rather say “your access expires in X days” than show a calendar date.
By default the output reads: Course Access Expires in X days.
Setup
There are two scenarios, and they decide whether you need to pass a course ID:
- On a course page (or its sidebar) — Just add the Days Until Course Expiry block or the
[uo_expiration_in]shortcode. It automatically detects the current course and shows the logged-in learner’s remaining days. - On any other page — The module can’t infer the course, so pass it explicitly with the course-id attribute, e.g.
[uo_expiration_in course-id="123"].
To change the lead-in wording, use the pre-text attribute, e.g. [uo_expiration_in pre-text="Your access will expire in:"].
Shortcode reference
[uo_expiration_in]
| Attribute | What it does | Example |
|---|---|---|
| course-id | Specifies the course post ID — required when the shortcode isn’t on a course page | course-id=”123″ |
| pre-text | Customizes the text shown before the day count | pre-text=”Your access will expire in:” |
Usage
- On the final day of access, the count displays 0.
- After access has expired, nothing is displayed. Keep this in mind on closed course pages, where there may be no visible output for expired learners.
Note: This is a Pro module — it must be installed and activated under Uncanny Toolkit Pro before the block or shortcode will render anything.
The above shorcode I have copied and put it in the appropiate place and it appears nothing
To use this shortcode make sure you have Pro installed and the module turned on. I don’t see a license for this email address, so if you continue to have trouble make sure you log a support ticket through your account on our site and we can take a closer look.
Hi, is there any way to change the language or format of the date that is displayed on the frontend?
You can use the “pre-text” attribute to change the text that comes before the number of days, but the rest is currently not translatable. We’ll make sure the entire phrase is translatable in the next release. Thanks!
How do we set an expiration date to courses/certificates? Our clients have to redo training every 3 years and need an expiry date to appear on their certificates – once their certificates expire they need to be able to go back in and retake the course and be awarded a new certificate.
Unfortunately, that’s not currently possible with any of our current plugins, but we are considering the addition of that kind of functionality to our Continuing Education Credits plugin. Stay tuned!
Is there a way to send email notifications to users that their courses are expiring soon?
Yes, for this you should use the free LearnDash Notifications plugin (available from your account on learndash.com). It works both with regular expiry dates and our group expiration behaviours in the Toolkit Pro plugin.
I have turned on the module and inserted the code. The course timer is set to 30 days. Testing it with my user and it does not display on the course. Am I missing something?
For support issues it really makes it easier for us to track things if you can submit a ticket. For this one, is the user an admin or Group Leader? Both might allow access overrides that would negate expiration. Is expiration set at the course or group level, or perhaps even both? Is the course a type other than “open”? If you can follow up in a ticket with more details about the test user, enrollment, expiration and the shortcode you’re using we can take a look for you.