1. Home
  2. Knowledge Base
  3. Uncanny LearnDash Toolkit Pro
  4. Group Expiration


The LearnDash Group Expiration module is part of the Pro Suite of modules for the Uncanny LearnDash Toolkit. It provides a means to expire course access for an entire group and to notify them in advance of the expiration. This is useful when a number of organizations are set up with their own LearnDash Groups and you sell access to courses for a large group over a defined period of time. We see it used most often when organizations pay outside of WordPress for a bulk license to courses.


After turning the module on, there’s are two settings on the LearnDash Toolkit settings page

  • Whether or not to send an expiry email
  • How many days before expiry to send the email

group_expirationTo set an expiration date and (optionally) an expiration message that’s unique to each group, navigate to the list of LearnDash Groups in LearnDash LMS > LearnDash Groups. You’ll see that a new column is added for Expiration Date. If access expires in the future, you’ll see an expiry date listed here. If a notification email was sent, this will be listed here as well. If access has already expired, the date and time of expiry is added to the column.

To set or change the expiration date and expiration email, edit a LearnDash Group. When the module is enabled, a metabox for Expiration Date is added to the LearnDash Group page. Click the date field to select an expiration date from the calendar.


The following shortcode outputs the expiration date of the current user’s group:


If the user is in exactly one group with an expiry date set the expiry date of that group will be displayed.

If the user is in more than one group with an expiry date set, the shortcode won’t display anything.  For this case, you can manually specify a group ID in the shortcode using the group_id parameter:

[uo_group_expiration_date group_id="1234"]

to display the expiry date of a specific group.  Even if the group_id is specified, nothing will be displayed to users that are not members of the specified group.

The shortcode will display the expiry date even if the date has already passed.

Customizing the Notification Email

Beneath the expiration date is an Expiration Email metabox. You can set both the subject line and body for the notification email. In the body of the email, you can include variables for the user’s display name (“%Display Name%”), group name (“%LearnDash Group Name%”) and expiration date (“%Expiration Date%”). Variables are not case sensitive, but we recommend you copy and paste them from the list beneath the body text area. Use the Test Email button to sent a sample expiration email to the site administrator.


Usage Notes

  • For expiry to take effect, you must set a date in the future. Group courses will be removed at midnight on that date.
  • To reactivate an expired group, set a new date in the future.
  • The notification email is sent as a cron job, which is only triggered when users visit the site. If no-one visits the site on a date when emails would normally be sent (this is common on development and Staging sites), emails won’t be triggered until someone next visits.


Was this article helpful?

6 replies
    • Ryan
      Ryan says:

      Hi Jean, it depends on who you want to have access to the data. The data isn’t deleted. Admins can still access it, Group Leaders cannot.

    • Ryan
      Ryan says:

      LearnDash only supports course expiration and our plugin only adds group expiration support. Even if you could set expiration behaviours for lessons, topics and quizzes, access to a course through the group would override it anyway (I mention that since the comment is posted for a group article). Expiration could potentially be added for individuals for those post types but it’s not something we’re planning for any of our plugins.



Please note that this is not an official support channel and questions/comments may go unanswered.
To request support, log in to your account and click Submit a Request.

Leave a Reply

Your email address will not be published. Required fields are marked *