New Group Management & Transcript Features

To support several new features for LearnDash group management and transcripts, today we released updates for Uncanny Groups, Uncanny Toolkit for LearnDash, Uncanny Toolkit Pro and Uncanny Continuing Education Credits. There are also multiple quality of life improvements that will make things easier for users of those 4 plugins.

Show archived data in transcripts

Our Uncanny Continuing Education Credits plugin has long offered a way to archive LearnDash course completions, so that when progress gets reset, there was still a record of those completions. It wasn’t always easier for students themselves to see those records, however, so today’s releases of Uncanny CEUs and Toolkit Pro make it possible to show those records in learner transcripts with this new setting:

Show archived course completions in transcripts

This tool is optional, and only available when we detect that Uncanny Continuing Education Credits is active, but when enabled students will be able to see all course completion records, both current and archived. It now represents the best way for students to see a consolidated view of their current and historical learning activities.

New features in Uncanny Groups for LearnDash

The existing user upload tool on the Group Management page can be limiting, which was done intentionally to make sure Group Leaders could make changes that had the potential to introduce security or privacy risks. Going forward, Group Leaders can now add additional records to CSV upload files:

  • Including a “user_login” column in the upload file allows Group Leaders to set the WordPress account username for new users.
  • User meta keys can be added as column headings and the contents of those columns will be added as meta values.

These are still advanced capabilities for Group Leaders, so most will not (and probably should not) be using these tools, but they are available now for situations where they can provide value.

In the Group Course report, there’s a new “Time” column for courses that can be optionally included if you use the Simple Course Timer module in Uncanny Toolkit Pro.

Over in the Group Quiz report, we have had a number of requests to remove columns completely so they’re simply no longer available. There are now options to set or unset columns with a filter, as in this code snippet example:

add_filter( 'ulgm_quiz_report_table_columns', function( $columns ) {
	if ( isset( $columns['quiz_modal'] ) ) {
		unset( $columns['quiz_modal'] );
	if ( isset( $columns['quiz_score'] ) ) {
		//unset( $columns['quiz_score'] );
	if ( isset( $columns['user_email'] ) ) {
		//unset( $columns['user_email'] );
	if ( isset( $columns['quiz_date'] ) ) {
		//unset( $columns['quiz_date'] );
	return $columns;
} );

Finally, groups gain a new option to set a group-specific email template for the “Send enrollment key” email. From LearnDash group edit pages, you can now set an override to send out emails unique to the group when enrollment keys are sent out to invited users.

Additional improvements and fixes for today’s 4 plugin releases are covered in their respective changelogs:

Uncanny Toolkit for LearnDash
Uncanny Toolkit Pro
Uncanny Groups
Uncanny Continuing Education Credits


The Uncanny Ecosystem: How to Use Uncanny Plugins Together

Discover more incredible ways to use the Uncanny Owl addons and plugins that you already have! Get better LearnDash reports, more control over your groups and much more!

Since its inception, the team at Uncanny Owl has been dedicated to helping build the LearnDash community. As such, over the years, we’ve been proud to develop some of the highest-rated addons and plugins in the LMS ecosystem.

Of course, each of our plugins and addons are standalone products that can enhance the user experience and save site administrators countless hours. But, if you’re reading this article, you probably already knew that.

After all, Uncanny Toolkit is the #1 free plugin for LearnDash websites and Uncanny Toolkit Pro is the top paid third-party addon.

However, we also designed our plugins and addons to work together in surprising ways that even experienced LearnDash web developers might not know.

In this article, we want to explore the ways in which the Uncanny ecosystem of addons and plugins can improve your LearnDash LMS. We bet you didn’t even know you had these hidden tools at your fingertips the whole time!

Let’s take a look.

Uncanny Toolkit Pro + Tin Canny Reporting: Course Timer

Uncanny Toolkit Pro is a LearnDash addon that enhances the functionality of your LMS. With the simple click of a button, you can add any number of features (what we call modules) to your LearnDash website.


Want to preview certificates, add a course expiration countdown, import users, restrict access or create custom group logos? All of that and more is possible with the Toolkit Pro addon.

Similarly, Tin Canny Reporting puts your LearnDash user, course and even quiz data right at your fingertips. If you’re looking for a data-driven approach to improve the learner experience and inform educators and group leaders, then Tin Canny Reporting is a must-have.


Toolkit Pro and Tin Canny Reporting work best together with Toolkit Pro’s Simple Course Timer module.


When you activate this module, Toolkit Pro will automatically track the amount of time that a student spends on a course. The module also detects idle time and gives you the ability to restrict access to quizzes until a student spends a minimum amount of time in a course.

With the Tin Canny Reporting addon, the Simple Course Timer adds two columns to your LearnDash course reports: Time to Complete and Time Spent.


You can use these columns to assess course difficulty, identify stragglers and optimize content for your learners. Additionally, thanks to Tin Canny’s one-click export features, you can download your course reports in a CSV file and analyze your metrics in Google Sheets, Numbers or any spreadsheet of your choosing.

Toolkit Pro + Continuing Education Credits: Enhanced CSV Reports

The Continuing Education Credits addon gives LearnDash administrators the ability to award certificates based on credits. If you’ve ever wanted to create a dynamic degree or offer the elearning equivalent to your in-person programs, this is the addon you’ve been looking for.


Pairing the Continuing Education Credits addon with Toolkit Pro’s Enhance CSV Reports module also improves some of LearnDash’s core reporting features.


LearnDash’s User Course Data and User Quiz Data are both great reporting tools on their own. Just as with Tin Canny Reporting, one-click export and download to a CSV file format makes analyzing your LMS data that much easier.

However, when you pair Uncanny’s Enhanced CSV Reports module with the Continuing Education Credits addon, you get some additional LMS data.

After you’ve activated the module, click Settings and check the box next to Uncanny CEUs.


From now on, your LearnDash course and quiz reports will include a column with the learner’s CEUs. This enhanced report can help educators and administrators in segmenting learners, tracking learners’ progress and fulfilling educational targets.

Toolkit Pro + Continuing Education Credits: Learner Transcripts

The Enhanced CSV Reports that we explored in the previous section added a CEUs column for site administrators and educators. But students also have a vested interest in tracking their credits and monitoring their progress.

That’s where the Learner Transcripts module in Toolkit Pro comes in.


When paired with the Continuing Education Credits addon, the Learner Transcripts module adds a CEUs column to the front-end of your website.


To add this student transcript to your LearnDash website, simply insert this shortcode on any page (likely the user’s Account page):


Your learners will now have easy access to a report that includes all of their progress to-date so they can better manage their own educational goals.

Toolkit Pro + Uncanny Groups: Registration with Seat Limits

The Uncanny Groups addon is the best way to manage organizations within your LearnDash LMS. Give your group leaders access to management and reporting tools without compromising your site security. Sell group access licenses so that organizations can manage themselves and create group hierarchies.


Toolkit Pro’s Group Registration module adds another must-have feature to the Uncanny Groups addon for easier, hands-off group management.


By creating unique registration URLs, the Group Registration module allows users to register for groups themselves when creating their accounts. Additionally, users can change groups or join new ones by visiting the unique registration URLs.

Most importantly, with the Uncanny Groups addon and the Group Registration module working together, you can ensure that seat limits are never exceeded. If an unregistered or existing user visits a group’s unique registration URL when that group is full, they will see a simple message informing them that there are no available seats.

Uncanny Automator + Everything!

For all other symbiotic relationships in the Uncanny ecosystem, there is Uncanny Automator.

As the #1 automation and integration plugin for WordPress websites, Automator can connect all of the various apps and plugins that you use to enhance your LearnDash LMS.


With Uncanny Codes and Uncanny Groups, for example, Automator can register users for a group when they redeem a code.


Alternatively, Automator can add and remove seats from a group in Uncanny Groups with code redemption to help organizations within your LMS to promote courses and groups.


Or, how about awarding unique LearnDash certificates based on a learner’s Uncanny CEUs credits?


All of these integrations between Uncanny Owl plugins and addons are possible with Automator—plus a whole lot more!

With dozens of triggers, actions and filters to choose from you can create just about symbiotic integration between LearnDash and Uncanny Owl plugins and addons that you can dream of.


In this post, we explored some of the hidden ways that Uncanny Owl plugins and addons work together. In the end, we briefly explored how Uncanny Owl’s Automator plugin can create even more powerful integrations between your favorite LearnDash addons and plugins.

You should now have a better understanding of how the Uncanny ecosystem ties together. Of course, we’re always looking for more ways to help you manage your WordPress website.

Don’t see an integration that you’re desperate to have? Unsure how some of these integrations work? Drop us a line in the comments section below and we’ll get back to you.

Share LearnDash Quiz Results with Students & Educators

Give your students a new way to study and learn. Share LearnDash quiz results directly with students and give group leaders access to insightful quiz reports with Uncanny Groups, Tin Canny Reporting and Uncanny Automator.

Are you looking for a way to share your students’ quiz results? Or, maybe you want to give your group leaders and educators access to powerful reporting tools so that they can analyze quiz data.

Regardless of the reason, if you want to do more with your LearnDash quiz results, you’ve landed on the right page.

In this article, we’ll show you how three plugins—Uncanny Groups, Tin Canny Reporting, and Uncanny Automator—can help you make the most of your LearnDash data. Let’s get to it.


In this article, we’ll show you a handful of different ways to use your LearnDash data to empower group leaders and educators and optimize student learning. By the end of this article, you’ll have solutions for:

  • sharing quiz records with students and instructors via email, and/or private message in BuddyBoss, SMS, WhatsApp, and more,
  • building your own quiz reports in Google Sheets and/or Airtable,
  • making essays and assignments easier for educators to access and grade via front-end tools,
  • analyzing quiz question quality to improve question sets, and
  • reviewing results in front-end reports.

We’re certain that you’re eager to learn more about implementing these solutions, so let’s take a closer look at the plugins we’ll be using.

Uncanny Automator

Uncanny Automator is the #1 automation and integration plugin for WordPress websites. Using simple combinations of triggers and actions, you can create seamless workflows across your entire website.


When it comes to disseminating LearnDash quiz data, Automator offers unparalleled flexibility. Instantaneously share quiz results with students, group leaders and/or administrators across any number of your chosen platforms, including emails, BuddyBoss, Slack, WhatsApp, Twilio and more.

In later sections, we’ll show you how simple it is to integrate your LearnDash LMS with your communication and reporting tools of choice. For now, grab your Automator Pro license and unlock a whole world of WordPress possibilities.>>>

Uncanny Groups

LearnDash Groups are an essential component of any LearnDash-powered elearning platform. For those administrators looking to improve the student and educator experiences, however, the Uncanny Groups plugin adds invaluable features.


Uncanny Groups gives LearnDash Group leaders, students and administrators new tools such as:

  • front-end group reporting, including essay and assignment management,
  • control for Group Leaders to add, edit and remove users,
  • individual and group sales for ecommerce (sell licenses to organizations and schools that they can manage themselves!)
  • progress overrides and,
  • optional email capabilities for Group Leaders.

Get your Uncanny Groups license now so you can implement better reporting solutions.>>>

Tin Canny Reporting

Tin Canny is a powerful plugin, optimally designed to revolutionize the way elearning platforms track, disseminate and analyze data within their LMS. Developed with a focus on user-friendly functionality and robust data insights, Tin Canny puts detailed LearnDash data at your fingertips. You can also leverage SCORM / xAPI records and H5P data to drill down into quiz-level analytics and/or get summary level data.


With Tin Canny Reporting, users can seamlessly extract, manipulate, and visualize data from their LMS in as many ways as they choose. Whether it’s monitoring learner progress, assessing course effectiveness, evaluating engagement metrics or drilling down into quiz questions, Tin Canny Reporting provides the tools you need.


Empower your educators and administrators with Tin Canny Reporting to gain deeper insights into your LearnDash data.

Get Tin Canny Reporting now to optimize your student learning and group management experience.>>>

Send Students a Copy of Their LearnDash Quiz Results with Automator

Quiz data can be an invaluable study aid for students and an important resource for educators. Automator puts that all-important quiz data right at your fingertips to disseminate as you choose.


In the Automator recipe pictured above, for example, we’re able to email quiz results directly to our students so that they can keep a record for themselves as a study guide for later on. We can then use features like tokens and filters to customize the email content (including which datum to send) and create a personalized learning experience.

Additionally, we can use Automator to help our students find immediate remedial assistance.

For example, in the recipe pictured below, we’re able to notify a student’s group leader if/when they fail a quiz. Using tokens, we can include information about the student’s quiz experience—such as how long it took them to complete the quiz and the number of times they’ve attempted it—to help group leaders give their students the assistance they need.


Recipes like these ones are just simple examples of how you might choose to share LearnDash quiz data with your students and educators. You can even integrate quiz results into your CRM, such as ActiveCampaign, Groundhogg and HubSpot to launch personalized engagement and improvement campaigns.

Want to give your students even more options for reviewing their LearnDash data? Scroll down to the Front-End Reports section for solutions that keep your students on your LearnDash-powered site.

Create Custom LearnDash Reports in Google Sheets and Airtable with Automator

External apps such as Google Sheets and Airtable allow you to perform powerful analyses of your LearnDash quiz data. With Automator, you can easily send all of your quiz results to these analysis-focused apps to keep track of your metrics, create custom reports and optimize your quizzes for student learning.


In the recipe pictured above, for example, we’re able to store all of our students’ quiz attempts in Google Sheets. We can store minute data such as their answers to specific questions and broader data such as the number of correct answers. Keeping track of metrics such as the average amount of time it takes our students to complete a quiz and the number of attempts they’ve made can help us to optimize our quiz content.

Additionally, Automator allows you to store your LearnDash quiz data in a relational database like Airtable so you can visualize quiz results in any number of ways. Click the image below to learn how to connect your WordPress website to Airtable.


Connect Your WordPress Website to Airtable with Uncanny Automator>>>

Front-End Essay and Assignment Management with Uncanny Groups

Particularly in B2B sales, LearnDash group leaders often need greater access and control over their group’s content than administrators can reasonably give.

Fortunately, Uncanny Groups takes essay question and assignment access and grading out of the back-end of your WordPress website (i.e., out of /wp-admin/) and puts it comfortably on the front-end. Using a simple shortcode, you can give your LearnDash group leaders greater control of essay questions and assignments.

Essay Question Management: With the front-end management solution, group leaders can review essay questions submitted by users in their group, access the associated lesson, course, quiz or comments, grade and assign points to essay questions submitted by users in their group, and do a whole lot more.

LearnDash Essay Question Management

Assignment Management: Similarly, with the front-end management solution for assignments, group leaders can download and review assignments submitted by users, approve and assign points to assignments submitted by users, filter assignments by group, course, lesson and status (approved/not approved), and do a whole lot more.

LearnDash Assignment Management

Front-End Reporting with Tin Canny

Tin Canny puts versatile user, group, course and even question level reports directly on the front-end of your LearnDash-powered WordPress website. Click the links below to learn how to implement these solutions on your site for your students, group leaders and administrators. (Spoiler Alert: you’ll only need to copy and paste a shortcode or two!)

LearnDash Quiz Question Report: Ever wanted to optimize your LearnDash quiz questions? Want to know which single-choice, multiple-choice or true/false questions are too difficult or too easy? The Quiz Question Analysis Report gives LearnDash group leaders and WordPress administrators question-level data so they can optimize questions and improve student learning.

LearnDash Quiz Question Analysis Report

Front-End Quiz Report for Group Leaders: The front-end Quiz Report allows administrators and group leaders to view consolidated quiz data. If you’ve enabled quiz statistics, there will also be a link to detailed quiz results for that user and quiz attempt.

Front-End Quiz Report for Students: The User Quiz Report outputs LearnDash quiz scores across all courses for the user viewing the page. This report can be used by students, Group Leaders and administrators to see a consolidated list of results.

Tin Canny User Quiz Report

Detailed Quiz Report: If educators need to see all data for a quiz, across all courses and groups, the Detailed Quiz Report is the best option. This report outputs all quiz attempts by all students, and shows the most complete set of results for a specific quiz.

LearnDash Detailed Quiz Report


In this article, we introduced you to Uncanny Automator, Uncanny Groups and Tin Canny Reporting; three powerful tools for gathering, disseminating and analyzing your LearnDash quiz data.

We showed you some of the simple ways to share quiz data with your students and group leaders and store it in external apps such as Airtable. Next, we covered some of the versatile reporting features of Uncanny Groups and Tin Canny, including the types of data that you can collect and where you can include these reports.

Hopefully, you’re now feeling confident in your ability to gather the elearning data that matters most to you and your students. However, if you’re uncertain how exactly to generate the kind of data that you’re looking for, drop us a line in the comments section below.

Until then, happy learning!

New LearnDash Quiz Report

Tin Canny 4.4 is now available, and the biggest new feature is the addition of a new type of LearnDash quiz report. There are also a number of usability improvements for existing Tin Canny users.

LearnDash Detailed Quiz Report

Yes, we have the Group Leader Quiz report in Tin Canny, and the Group Quiz report in Uncanny Groups, but we still invariably had requests for more quiz data presented in different ways. If an admin wanted to see records for users not in groups, or to identify users that hadn’t yet taken a quiz they were assigned, for example, it was very difficult to retrieve this data.

The new LearnDash Detailed Quiz reports offer a new alternative that removes some of these constraints. This is what it looks like:

LearnDash Detailed Quiz Report

There are a few key things to note in the screenshot above that differ from other quiz reports:

  • In the “Group” drop-down list, you can either choose a group or admins can show records for any group as well as users not in a group. This is a key difference, because most other reports are group-based.
  • There is no course selection. The report shows all records for a quiz, even if it’s included in multiple courses.
  • Columns are customizable.
  • Records are shown for all users with access to a quiz, not just users with quiz attempts. This makes it easy to identify users that haven’t yet completed quizzes but are assigned to them. If you don’t want this behaviour, you can easily turn it off by adding this filter to the functions.php file of your child theme:
    add_filter( ‘uotc_quiz_report_hide_unattempted_users’, ‘__return_true’ );
  • All attempts are shown, not just the highest-scoring quiz attempt.

To use the new report, add this shortcode to any page:


Besides the new report, there are a number of minor improvements, including showing the maximum file upload size when uploads are via full zip files, and removing the cancel button for full zip uploads (since the upload can’t actually be cancelled).

Transcripts for Group Leaders, Live Timer

The Uncanny Toolkit Pro for LearnDash 4.2 release is a big one that adds several new features and a number of enhancements across several modules. Let’s jump in to what’s new.

Group Leader access to Transcripts

Last week we released an Uncanny Groups update that now allows you to connect the Group Course report to student transcripts, and with today’s Toolkit Pro release completing the support, it’s now possible for Group Leaders to see a complete transcript for any of their students. This is of course an optional tool, but it makes it far easier for Group Leaders to get a printable report of student activity and accomplishments.

Adding support for transcript access on your site is easy. Simply edit the Group Course report page and add this attribute to the [uo_groups_course_report] shortcode:


Replace “123” with the ID of your transcript page. You might then end up with a shortcode that looks like this: [uo_groups_course_report transcript-page-id=”2780″]. (And yes, this attribute is also supported in the block editor.)

Now when Group Leaders or admins view the Course report, they will see a new column to access student transcripts, like this:

Group Leader LearnDash Transcripts

Please note that the transcript view that Group Leaders will see exactly matches the transcripts students see. This means it includes all learning records, not just ones associated with courses linked to groups associated with the Group Leader. It might also include custom CEU records.

Simple Course Timer: Live timer

The Simple Course Timer has long been used by LearnDash sites as a way to track active time inside a course. Rather than simply looking at a user’s start and end dates to determine time in a course, this Toolkit Pro module tracks the actual time spent in a course, lesson, topic or quiz.

While we do have shortcodes that can show users the time they have spent on a page or an entire course, it has always been a static value. On page load we output that value and it doesn’t change, so if users wanted to see an updated record of their course time, they needed to reload the page. This was particularly painful when sites used our option to restrict access to quizzes until a certain amount of time had elapsed in the course.

Today’s Toolkit Pro release adds a new shortcode for this module:


When added to any LearnDash post type, it will output the user’s current cumulative time spent in the course, and then it will count up. This new tool makes it far easier for a student to see exactly how much time they have spent in a course without having to reload the page.

Other improvements

The Enhanced Course Grid module adds a new “taxonomy_relation” attribute that you can set to AND or OR. We ran into some situations on user sites where they might specify both WordPress and LearnDash categories in the shortcode, and we always treated the course output as using “OR” operators for the taxonomies. Now you can set taxonomy_relation=”AND” in the shortcode and the courses returned will match all taxonomy rules.

The Enhanced Lessons/Topics Grid gained a new setting for showing quizzes in grids. This makes it possible to show quizzes alongside lessons or topics when they’re set at the same level. It looks like this:

Quizzes in LearnDash grids

In the Duplicate Pages & Posts module, we have changed the minimum role capability required to duplicate posts to “edit_published_posts”. This will make it easier for non-admin roles to use this tool.

The Import Users module emails have a new %Password Reset URL% token for including a plain text copy of the URL in emails. While there was an existing token that linked to the password page, it relied on an HTML link and was problematic in situations where a plain text URL would be more appropriate.

And in the Group Registration module, there are new filters for uo_ld_group_signup_registered_message, uo_ld_group_signup_joined_remove_previous_group_message and uo_ld_group_signup_joined_message to override standard module messages.

That covers the highlights of the Toolkit Pro release! We hope you the new features are useful to you.

What’s New in Uncanny Groups 6.0

Uncanny Groups 6.0 is a huge release that adds some big features that we’ve been planning for years. The biggest features are support for purchasing multiple groups in a single transaction and new Woo settings, but there’s a lot more in this release.

Sell multiple LearnDash Groups

By far the biggest feature in 6.0 is support for multiple groups in a single purchase. Previously, we ran into too many issues trying to offer this type of support, like, how to capture names for different groups as part of the checkout workflow, how to handle bulk and other discounts, scenarios involving users adding courses they choose to groups, etc.

It took a lot of hard work and plugin changes to pull it off, and yes, you will notice a lot of differences as a result. As an example, you will now see group name fields on product and cart pages, like this:

Group Name Product PageMaybe you don’t want the new options to buy multiple group products in 1 transaction and to see group name fields everywhere? In that case, we have these new options in WooCommerce Settings:

One note here is that while someone can buy multiple groups linked to different products in the same transaction, you cannot buy multiple groups linked to the same product. That remains a Woo limitation, as trying to add a higher quantity linked to an existing product ID in your cart will just add more seats to the group; it can’t be an independent group.

Certainly this is a huge change, and will affect existing sites, so this may be a feature you want to test in a Staging environment before you deploy 6.0 to a live environment.

New tax support

Group products now support their own tax class and status. This allows groups that are generated dynamically, like from the Buy Courses page where users can choose courses for their groups, to support a default tax class and status. You’ll find these new options in the WooCommerce Settings under Uncanny Groups > Settings, and they look like this:

Group Tax Options

Group Progress search

Searching for users on the Manage Progress page is now much easier, with autocomplete now supported as you enter a user name, email address key, or ID. It looks like this:

Manage Progress select users

Accessibility improvements

We had some WCAG-related concerns raised a few months ago from one of our users, so we have been gradually working on enhancements to overall accessibility. This includes:

  • Better keyboard navigation in the front end.
  • Making it easier for screen readers to detect values in drop-down lists.
  • Adding some labels where the purpose of a field wasn’t clear.

Other improvements

The bulk discount system has been rebuilt so that the license price is discounted directly instead of adding a negative fee to the order. This improves compatibility with other plugins that may have trouble accounting for a negative fee (including several PDF invoice plugins), which are now compatible with Uncanny Groups.

For sites with huge essay volumes (and we’ve seen several with hundreds of thousands), there’s a new load_on_render=”no” attribute for the Front End Essay Question Management shortcode (as well as a Gutenberg block panel) that you can use to not load any essays on page visit, like this:

[uo_groups_essays load_on_render=”no”]

When this is enabled, it means essays will only be loaded after the user has set up filters and initiated the query. This means report loading time will be faster and won’t fail on very high-volume sites.

New compatibility options with AffiliateWP have been added, so now the referral amount applies to the order total after the discount (if one exists).

That covers the highlights of the Uncanny Groups 6.0 release. We hope you enjoy all of the new features!

Uncanny CEUs: LearnDash Credit Report overhaul

WordPress sites offering continuing education credit programs with LearnDash tend to collect a lot of data about course completions. Our Uncanny Continuing Education Credits plugin makes it easy to track and manage CEUs and other credits, but over time, all of the user activity can generate a lot of data, sometimes tens of thousands, or even hundreds of thousands, of records. Loading this volume of data in a single report can sometimes be taxing on site resources, so in today’s Uncanny Continuing Education Credits 4.1 release, we’re excited to offer new reporting solutions targeted at performance.

Faster LearnDash credit reports

In the Uncanny CEUs 4.1 release, you’ll see a new Credit Report Settings section under Uncanny CEUs > Settings in /wp-admin/:

LearnDash Credit Report Settings

Loading avatars for a large volume of users is slow, so you can disable that for better performance.

Next we have 3 new options for “Report Mode”:

  • Legacy: The system and queries that existed before 4.1. Should only be used for compatibility, like if you customized report output and credit capture outside of our plugin.
  • Performance: The new default option, captures some data during user updates so some data is effectively “prefetched” and reduces user queries.
  • Ludicrous: Generates cached credit data hourly based on a cron, then loads the data from the cached record in the report. Can be refreshed on demand if data is stale.

There are also new settings for Default Date Range and Default Page Length. Once again, loading less data when the report is first opened (with a smaller date range and a shorter default page length) can improve performance and reduce memory usage.

Other LearnDash credit updates

While the changes to the credit report are the biggest update in 4.1, there are also several important changes for Uncanny CEUs users:

  1. There’s a new Reset button on the credit report page to reset filters. this makes it easier to generate new reports.
  2. Dates and times are now aligned with LearnDash times.
  3. There is better support in the reports when LearnDash is not active (yes, Uncanny Continuing Education Credits does not require LearnDash to be active, and can be used to capture credit data from other sources only, typically with Uncanny Automator acting as an intermediary).
  4. There is improved PHP 8.2 compatibility to align with the LearnDash 4.10 release.
  5. There are new filters available for awarding CEU certificates to allow email header overrides: uo_group_leader_mail_headers, uo_admin_mail_headers and uo_user_mail_headers.

For full details about the changes, make sure to review the Uncanny CEUs changelog.

Uncanny Groups 5.4: Front End Group Hierarchy Management

We’re excited to announce the release of Uncanny Groups 5.4, which includes several significant new features for users of the #1 plugin for the sale, management and reporting of LearnDash groups. This release includes 5 key new additions to make group management even easier.

Front End Group Hierarchy Management

When group hierarchies are enabled in LearnDash settings, the Edit Group and Create Group tools in Uncanny Groups now support the ability to choose a parent for the selected group. To make this option available, just add the parent_selector=”show” attribute to the shortcode, like this: [uo_groups_create_group parent_selector=”show”]. Once that’s done, a new drop-down list for the parent group selection will be added to the form:

Choose a LearnDash Parent Group

For Group Leaders, of course, any group parent options must be groups that exist and the user must be a leader of the group. Group Leaders can only see groups that they’re associated with.

This new functionality allows scenarios where Group Leaders have more control over their users, access and reporting. With the wizard to create a group enabled, Group Leaders could choose to set up new child groups for more granular access over courses and reporting rather than using a single large, top-level group.

Group refund changes

In previous versions of Uncanny Groups, the refund behaviour assumed that groups would always be fully refunded, so the group itself would no longer be needed and users would lose access. Based on customer feedback, we realized that this was not sufficient; more support was needed for partial refund scenarios as well as more control over what happened when an order was fully refunded. That led us to add the following changes to the Uncanny Groups > Settings page:

Refund Uncanny Groups

Now, when an order is partially refunded and the first option is checked, we will adjust the seat count for the associated group accordingly. And if the order is fully refunded, we can just move the group itself to the trash.

Reset quiz retakes

Our Manage Learner Progress tool is a really popular way for Group Leaders and admins to update and track user progress in the front end. While the ability to mark quizzes as complete or incomplete has existed for a long time, we didn’t offer a way to also reset attempts and records for a quiz. Where quiz retakes are limited, offering the option to reset attempts for a quiz became more important. Now, when a quiz is marked incomplete by a Group Leader or admin, they will be presented with this option:

Reset LearnDash Quiz Attempts

Users can click “yes” to remove all records related to the quiz for a user, effectively allowing them to start over, or they can choose “no” to keep the records and simply mark the quiz as incomplete.

Other updates

The Uncanny Groups 5.4 release adds the ability for Group Leaders to also email users in child groups when emails are sent from the parent group. This functionality relies on our Email Users tool, and when a group has child groups, the following checkbox will be added to the modal window to email users:

Send emails to child group members

Finally, we have relaxed requirements for the upgrade and downgrade functionality on group edit pages in /wp-admin/. (Upgrades and downgrades refer to adding support for seats and enrollment keys to LearnDash groups.) All groups, regardless of how they were created, can now be upgraded or downgraded.

That covers the highlights of the new Uncanny Groups 5.4 release, but for full details of the changes, please see the changelog.

Uncanny Groups: New Edit Group Wizard

The Uncanny Groups for LearnDash 5.3 release is now available! This update to our popular group management plugin for LearnDash adds 1 key new feature: a way to edit LearnDash groups in the front end. It’s an optional new tool that will make group edits a lot easier for many sites (and reduce the need for admin support).

Edit LearnDash Groups in the Front End

Uncanny Groups has supported front end LearnDash group creation for several years. Group editing was a much more difficult piece to tackle, as we had to consider implications for groups created via ecommerce, how to limit course access, what fields should and shouldn’t be available for editing, etc. In the 5.3 release, we’re adding a new shortcode and a new Gutenberg block to make group editing possible. Here’s the shortcode and the attributes it supports:

[uo_groups_edit_group group_name="show" total_seats="show" group_courses="show" category="" course_category=""]

There’s a lot to explain here, so let’s tackle each attribute.

The first attribute, group_name, determines whether or not the user editing the group (i.e. the Group Leader or admin) can modify the group name from the group edit page. If the group supports seats, the total_seats attributes determines whether or not the user editing the group can change the number of seats for the group (keep in mind, of course, that the number cannot be less than the number of students in the group.

The next attribute, group_courses, allows Group Leaders or admins to change (so add or remove) courses from the group. But which courses are available to the group? That’s where the category and course_category attributes come in; when included in the shortcode or block, only courses matching the category or course_category settings will be available. (To include multiple categories, separate the category slugs by comma.)

Here’s what a group edit page that supports changing name, seats and courses looks like:

Edit LearnDash Groups

Link LearnDash Group Editing to Group Management

You’re probably now wondering how you choose a group to edit and how your Group Leaders will find this tool.

There are 2 steps to enabling the optional front end group editing tool on your website:

  1. Create a new page with the [uo_groups_edit_group] shortcode.
  2. Update your Group Management page shortcode to link to the group edit page.

To link the Group Management page to the edit group page, there’s a new attribute for [uo_groups], so it must be updated to look like this:

[uo_groups edit_url="/front-end-learndash-group-edit/"]

The edit_url attribute defines where the edit group page set up in the section above is located. When it’s defined, the Group Management page will display an Edit group button next to the group name. It will look like this:

Edit Group button

The Edit Group feature is a really powerful new addition for Uncanny Groups, and we hope you find it useful.

Other Uncanny Groups additions

The new Edit LearnDash Group wizard is certainly the highlight of Uncanny Groups 5.3, but there are a number of new important enhancements.

There’s better support for formatting when RTL languages are used, the “Add and invite users” is set as the default option when users are imported via CSV file (for consistency with other methods to add users).

We hope you find the additions useful!

Toolkit Pro 4.1: Drip topics & Autocomplete with Formidable Forms

We’re excited to announce another big release of our most popular premium plugin, Uncanny Toolkit Pro for LearnDash. The 4.1 update adds 3 completely new modules for LearnDash users: Drip Topics by LearnDash Group, Autocomplete Lessons & Topics on Fluent Forms Submission and Autocomplete Lessons & Topics on Formidable Forms Submission. There are also a few enhancements for existing modules that we’re excited to share.

Drip Topics by LearnDash Group

Current Toolkit Pro users will already be familiar with our popular drip module for lessons, “Drip Lessons by LearnDash Group“. As you might expect, this new module is effectively the same thing as what we offer for lessons–except for topics. The settings will all be familiar, and there’s even support for the LearnDash Notifications plugin.

LearnDash drip topic by group

Autocomplete Lessons & Topics on Form Submission

The 2 new modules for Formidable Forms and Fluent Forms mirror what we have for Gravity Forms and WPForms. With the new tools, we can detect when a Formidable Form or Fluent Form appears on a lesson or topic page, hide the Mark Complete button, and require the users to submit a form entry. In Formidable Forms (and other other form integrations), the user will be advanced to the next step in the course. Unfortunately, Fluent Forms cannot support automatic advancement, only completion of the lesson or topic, so users must manually advance if they are using this module with Fluent Forms (this is a Fluent Forms limitation).

Settings are available for the new modules to control how to handle previous form entries and availability of the module (Formidable at the form level, Fluent at the global level, as Fluent can’t support custom form-level settings):

Fluent Forms autocomplete LearnDash lessons & topics

The modules are particularly useful for things like course feedback forms, and if added to the last lesson or topic of a course, they can be used as a final step to trigger course completion.

Restrict Page Access based on course completion

Our popular Restrict Page Access tool gains a new option for page permissions: Course Completion. Here’s what the updated metabox looks like in Gutenberg:

Restrict page access based on LearnDash course completionThis allows you to control any page or post type and base it on the user having a particular role, enrollment in a course, completion of a course, or enrollment in a group. You can also redirect users to a page explaining the restriction or just show a message to users that don’t have access.

Enhanced CSV Reports: Start date

Our Enhanced LearnDash CSV Reports module adds support for 1 new column type: Start date. Now it’s easy to see at a glance when users started a course (or gained access via a group).

Those are the highlights of the new Toolkit Pro release. We hope you find them useful!

Customize Your Uncanny Groups + LearnDash Course Reports

Add your own columns and data to Uncanny Groups and LearnDash course reports and empower your Group Leaders with the tools they need.


As an e-learning educator or administrator, you know how important it is to have accurate and detailed course reports. And while LearnDash has some built-in reporting tools, oftentimes, you need additional information. Custom data fields such as a user’s job title, age, department/organization or even last login date can be invaluable for administrators, instructors and LearnDash Group Leaders.

So, if you’ve been looking for a way to add more columns and custom data to your Uncanny Groups and LearnDash course reports, then you’ve found the right page. In this article, we’ll show you a few simple ways to customize your Uncanny Groups and LearnDash course reports. We’ll also show you how to make those reports visible right from your WordPress dashboard so that Group Leaders can access them.

Trust us, this will be the easiest course you take all day.

Custom Columns in CSV Files for Administrators

For WordPress and LearnDash administrators, one of the simplest reporting tools available are LearnDash’s native CSV reports. These reports provide administrators with the ability to export basic information on users’ course and quiz data to CSV files where they can perform in-depth analysis and keep track of their KPIs. As useful as these native CSV reports are, however, they don’t always contain the information that you’re looking for.

Enter Uncanny Toolkit Pro.

To customize your LearnDash user reports, follow these simple steps.

  1. Download Uncanny Toolkit Pro

As the leading add-on for LearnDash users, Uncanny Toolkit expands and improves upon the features and functionalities of your LMS website. If you’ve ever found yourself wishing that LearnDash could do “X” (such as report customization) or show you “Y” (such as unique metadata), Uncanny Toolkit is the add-on you need. With 30+ modules and first-in-class support, you’ll have total control over your ability to customize your LearnDash site and your users’ e-learning experience.


To gain access to additional modules, such as the Enhanced LearnDash CSV Reports module that we’ll be using to improve LearnDash Reports, you’ll need the Pro version of Uncanny Toolkit. Click here to download Uncanny Toolkit Pro.

  1. Select the Enhanced LearnDash CSV Reports Module

After downloading Uncanny Toolkit Pro, from your WordPress dashboard, navigate to Uncanny Toolkit > Modules. Scroll down to Enhanced LearnDash CSV Reports and toggle the module “On”. The toggle switch will appear green when enabled.


  1. Configure the Module Settings

To add columns to LearnDash user reports, click on Settings in the Enhanced LearnDash CSV Reports module. A pop-up window will appear where you can select from predefined columns such as Username, Language and Website.


If you scroll down, you’ll also see that Toolkit Pro lets you add user and course metadata as columns when you enter the meta key. These fields are particularly useful when you want to include custom metadata. For example, we have created the custom metadata department, job title, age and last login to better understand our user engagement and performance.


Having entered the meta key into the Usermeta Key fields, we were able to add those keys as columns in our exported CSV reports.


If you don’t know how to create and retrieve custom metadata on WordPress, jump down to the section Create Custom Metadata for WordPress.

We’ve seen how, with the Toolkit Pro add-on for LearnDash, you can drastically improve your LearnDash course reports. But CSV files don’t suit everyone’s workflows. Not to mention, Group Leaders and other instructors without administrator access to the back-end of your WordPress website won’t be able to retrieve their own LearnDash course reports.

If you’re using the Uncanny Groups for LearnDash add-on, however, you can add columns to reports on the front-end of your WordPress website for Group Leaders and instructors to access. Furthermore, you’ll be able to export the reports to Excel if that format suits your workflows better than CSV files.

Custom Columns for Uncanny Groups Course Reports

If you’ve been using the Uncanny Groups for LearnDash add-on then you already know about all of the amazing features such as front-end management and reporting tools for Group Leaders. However, sometimes, your Group Leaders will need more information than what the default reports contain.

Fortunately, there’s an easy way to add custom columns and data to your Uncanny Groups course reports. Follow these steps to help your Group Leaders drill down into their course and user data. We’ll also show you how easy it is to export course reports to Excel so that Group Leaders can track their KPIs and customize their analytics.

  1. Add Column Titles

First, you’ll need to add the titles of your custom columns to your Uncanny Groups course reports. To do this, you’ll need to add some code to the functions.php file of your child theme. The code snippet to add column titles to Uncanny Groups course reports is:

In the code snippet above, $columns[‘custom_key’] = ‘My custom column’ is where you can input the column title that you want. For example, we would like to add the column title Last Login so our code snippet would look like this:

Of course, you’d rarely only want to add only one column to your Uncanny Groups course reports. If you’d like to add multiple columns, simply include additional lines as follows:

  1. Add Column Values

Now that you’ve added the column titles to your Uncanny Groups course reports, it’s time to add the values. To input the values of your custom columns into your Uncanny Groups course reports, add the following code snippet to the functions.php file of your child theme:

In the code snippet above, $user_data[‘custom_value’] = get_user_meta( $user_id, ‘custom_value’, true ); is the line that will retrieve the user’s metadata that you want included in your Uncanny Groups report. In our example, with the meta values for all of our corresponding column titles, the code snippet would look like this:

Note: The snippet $user_data[‘learndash-last-login’] = get_user_meta( $user_id, ‘learndash-last-login’, true ); will return a timestamp value. If you want your course report to return the learndash-last-login value as the date format from your WordPress settings, you can use this code snippet:

  1. Export Uncanny Groups Reports to Excel

Navigate to the page(s) where you have your Uncanny Groups course reports. Note, you can include Uncanny Groups course reports on any page with the shortcode: [uo_groups_course_report]. As you can see in the image below, our custom columns along with the corresponding metadata have been added to our course report.


To export the report to Excel, simply click Excel export in the upper right-hand corner.


That’s all it takes!

Create Custom Metadata for Your LearnDash Reports

By default, WordPress stores a lot of data about your users. But it’s not always the data that you’re looking for. Throughout this article, we’ve been using custom WordPress metadata that suit our specific needs and workflows. Perhaps you’re already doing this on your site, like capturing “job title” or “department” in registration forms from your favorite form plugin, or a plugin like Advanced Custom Fields that adds extra data to users and posts. But, for greater control and management over your user and content records, you might need some additional help.

One popular solution for creating and manipulating custom WordPress metadata is our Uncanny Automator plugin. With Automator, you can craft recipes to create and alter unique metadata that you wouldn’t otherwise be able to. For example, we could help our Group Leaders by putting some key analytics right at their fingertips.


The recipe pictured above is the same one that we used to create some of the unique user metadata that you saw throughout this article. Whenever a user registers with our WPForms registration form, Automator creates the user meta organization and job_title along with the three unique key/value pairs quiz_100, quiz_85 and quiz_60 to track the number of quizzes a user passes with a given percentage score. We can then use subsequent recipes to alter that metadata, saving our Group Leaders hours of administrative work.


With these recipes and the ability to add custom columns to Uncanny Groups course reports, Group Leaders can easily keep track of their learners’ progress.

If you want to learn how to create your own WordPress metadata with Automator, then download the plugin and read a brief tutorial on mastering WordPress metadata.

Toolkit Pro 4.0: Generate LearnDash Certificates in Bulk

It’s here! The Uncanny Owl team is thrilled to announce that version 4.0 of the Uncanny Toolkit Pro plugin for LearnDash is now available. The latest update to the most popular third-party premium add-on for LearnDash adds 1 new module and a huge number of new features and improvements. Let’s jump right in to what’s new.

Generate LearnDash Certificates in Bulk

It’s a question LearnDash users have been asking for years: How can my Group Leaders and I download certificates for all of our students? Until today, you couldn’t. You had to look up records for one user at a time, find the right course or quiz, then generate a new certificate. It was time-consuming to the point of being completely impractical for large groups of users and courses.

With the new Download Certificates in Bulk module, grabbing a large batch of certificates is as easy as adding a shortcode to a page. When viewed by an admin or Group Leader user (the Group Leader must, of course, be the leader of one or more groups), it’s possible to download a zip file with Group, Course or Quiz certificates. To get started, add [uo_download_certificates] to a page and choose the type of certificate to download:

Download LearnDash Certificates

Depending on the type of certificate, you might be prompted to choose a group, course and/or quiz. As long as whatever you select has quizzes associated it, you will see an option to generate certificates. Here’s an example for bulk course certificate generation:

Generate LearnDash Course Certificates

In the above example, the module will look up all students in the Uncanny Owl group, see who has completed the “Intro to Bulk Certificates” course, and then create a zip file for all students that have earned a certificate. Inside the zip file will be a set of certificate files in PDF format.

One important thing to note is that all certificates in LearnDash are generated dynamically, and we rely on LearnDash for this generation. Because some criteria might generate hundreds, or even thousands, of certificates, we push processing to the background and send an email when the generation is complete along with a link to download the certificates. This process can be slow, perhaps upwards of 10 minutes if there are a lot of certificates to generate.

There are a number of settings available in this new module, including the free space required in the environment to allow certificate generation, email notification settings and an option to delete all temporary certificate zip files. (Certificate zip files are automatically purged after 12 hours to ensure that sites don’t run out of space. )

LearnDash Certificate Download Settings

Other Toolkit Pro Enhancements

Uncanny Toolkit Pro for LearnDash 4.0 also includes several other noteworthy improvements, including the following:

  • The Transcript module adds support for category attributes (e.g. [uo_transcript ld_category=”all” category=”all”]), so you can more easily control exactly what’s output in a transcript. Perhaps sample or hidden courses should be excluded from the report.
  • Notification emails for the Group Expiration module include several new filters for overriding the header, subject and message programmatically, like:
    $headers = apply_filters( ‘uo_ld_expire_group_email_headers’, $headers );
    $message = apply_filters( ‘uo_ld_expire_group_email_message’, $message, $user, $group_id );
    $sub = apply_filters( ‘uo_ld_expire_group_email_subject’, $email_title, $user, $group_id );
  • The Import Users module ignores blank rows, so users with empty rows they didn’t realize they included in the CSV file will no longer see errors.
  • The PDF export for the LearnDash Transcript module now supports RTL languages.
  • The Reset Progress button module now supports deleting time records from the Simple Course Timer module by using this filter: apply_filters( ‘uo_course_timer_data_reset_enabled’, false, $course_id, $user_id )
  • Pages created by the Group Registration module are now hidden by default from search engines.
  • The Group Registration module adds improved WPML support.

We hope you find the update useful! A full list of changes can be found in the Toolkit Pro changelog.

Better Notifications for LearnDash

With the LearnDash Notifications add-on and Uncanny Automator, students and staff can stay in touch, communicate more and learn together.

In self-directed elearning courses, it can be difficult for instructors to stay engaged with their students. While reports help instructors gather summary-level details on their students’ progress, they don’t keep educators in the loop as the learning unfolds. The LearnDash Notifications Add-On, however, addresses some of the challenges associated with real-time feedback. Even so, the LearnDash Notifications Add-On can’t quite always accommodate the needs of both students and instructors.

For example; how do students become aware of new course availability, new feedback from instructors, or new group discussions? To promote engagement and increased learning, elearning websites require a way to reach out to students beyond the website itself.

Whether you’re looking to enhance the LearnDash Notifications Add-On or replace it altogether, you’ve found the perfect solution.

LearnDash Notifications Add-On

In the LearnDash ecosystem, the easiest and most common way to send notifications to students and instructors (typically “Group Leaders” in LearnDash) is by email using the free LearnDash Notifications Add-On. It’s a powerful add-on that allows key LearnDash events, like course completion or assignment approval, to trigger email notifications to students, Groups Leaders and administrators. And with the new (at the time of publication) 1.6 release, it even adds conditions, so you can choose to send notifications only to users in certain groups, who have not completed a quiz, who are enrolled in a course, etc.

LearnDash Notifications is a great plugin that supports email notifications for a variety of scenarios, and since it’s free, it makes sense to use it on most LearnDash sites. It even has support for dozens of shortcodes so that you can include dynamic content (like the user’s name or course name) in the emails.

Better LearnDash Notifications - LearnDash Notification Add-On Triggers

With over 15 trigger types, a dozen conditions and dozens of shortcodes, there’s support for the most common email notification scenarios.

But what if you want to reach out to students via more than just email? And what if instead of a few dozen options, you had hundreds of triggers, multiple communication channels and thousands of conditions?

Enter Uncanny Automator

Uncanny Automator is our no-code automation platform for WordPress that we originally created as a way to personalize elearning for LearnDash. A little more than five years later, it has evolved into a robust system that connects LearnDash activity to more than 100 other plugins and apps. If the LearnDash Notifications Add-On gives you the ABCs of email notifications, then Uncanny Automator gives you the post-doctoral thesis in elearning linguistics. But while an actual PhD in linguistics night cost you an arm and a leg, there’s even a FREE version of Automator that connects some of the core LearnDash (and other plugins!) triggers to email and other channels!

More triggers

The LearnDash Notifications Add-On covers 15 basic scenarios. But what if you wanted more? Uncanny Automator gives you the ability to customize your LearnDash notifications, far beyond what the LearnDash Notifications Add-On can do. These are just some of the notifications you can send with Automator:

  • A user achieves a percentage, score or point value above or below a certain amount (“passing” or “failing” a quiz is great, but what if you want certain notifications based on score instead, like maybe notify the Instructor the first time only that someone gets a perfect score on a quiz?)
  • A new course, lesson or topic is created–or perhaps a new course is added to a group
  • A Group Leader is added or removed from a Group (keep other instructors in the loop about teaching staff changes)
  • A user completes a group’s courses
  • A user is removed from a group or course

But that’s just the start. No LearnDash site runs with the LearnDash plugin alone; it takes several, maybe even dozens, of plugins to run a LearnDash site effectively.

Want to know when new feedback forms are submitted for your course, but only on completion of the course? Here’s a recipe that notifies Group Leaders when the feedback form has been submitted and the user has completed the course:

Better LearnDash Notifications Automator WPForms/LearnDash Recipe

Maybe Group Leaders need to know when students have attended a live onboarding seminar that also enrolls the student in the next course? There’s a recipe for that too:

Better LearnDash Notifications Events Calendar/LearnDash recipe

Perhaps students receive a special certificate of congratulations after attending a live event that follows a course, so both LearnDash course completions and the Group Leader marking them attended triggers a special certificate:

Better LearnDash Notifications Events Calendar/LearnDash recipe graduation

More channels

Sending email notifications is great, but what if it’s not the best or only way to reach your students? By connecting LearnDash to Uncanny Automator, you can open up new channels of communication with your staff and students.

If your instructors work at a large institution, they’re likely flooded with emails everyday—and sending even more emails only results in more noise that gets ignored. But, if you had a dedicated support channel in Slack, you could get live updates any time users in a particular group fail a quiz or receive a low grade:

Better LearnDash Notifications LearnDash Slack recipe

Alternatively, certain scores on a quiz might open a ticket directly in your Help Desk system so important updates are easily tracked and followed up on. And one of our favorite examples for students who prefer more social messaging applications such as WhatsApp, SMS messages via Twilio or forums and groups in BuddyBoss, you can celebrate student achievements by sharing them with other students and staff. Perhaps, like in the example below, your students can celebrate their course completion or high grades in a specific group’s activity feed in BuddyBoss (and add multiple triggers to mark each accomplishment):

Better LearnDash Notifications LearnDash BuddyBoss recipe

With your students’ consent (perhaps via an opt-in form when they register), some site admins might even choose to share key accomplishments such as certification on social media in a private Facebook group.

More conditions

Adding filters to notifications is a great way to ensure that notifications only go to the right people at the right time. Conditions are a very recent addition to the LearnDash Notifications Add-On, and at the time of writing, supported conditions are:

  • User is enrolled to a group
  • User is enrolled to a course
  • User has completed a course
  • User has completed a lesson
  • User has completed a topic
  • User has submitted a quiz
  • User has completed a quiz
  • Essay has just been submitted
  • Essay question has just been put into graded status
  • User has uploaded an assignment
  • User’s assignment has been approved
  • User has not completed a quiz

It’s a great list, and on the LearnDash side of things, it absolutely covers the highlights. So what can Uncanny Automator bring to the table that LearnDash Notifications doesn’t have?

  • A lot of “not” in or “not” completed conditions. Maybe a notification simply doesn’t apply to a tester group. Instead of explicitly adding all of the other groups to the notification, you can just say “this notification applies to everyone except members of this group”.
  • Group hierarchy support. Maybe you support a hospital network with multiple departments and divisions, and maybe a certain notification applies only to members of one specific organization. If they have 50 groups in their group hierarchy, and perhaps those groups sometimes change, managing notifications for those groups would be a nightmare. With Automator, you can just set up a condition to have a notification run for everyone in a selected group and its children.

Of course, your LearnDash site is likely running more plugins than just LearnDash. What if you only want notifications to go out to users with a certain membership level in MemberPress, a matching WordPress role or a specific CRM tag via WP Fusion? No problem.

Taking things a bit to the extreme, here’s a WhatsApp notification that will only go out to users with an email address that have an “opt-in” tag in FluentCRM and are active Platinum members in MemberPress:

Better LearnDash Notifications WhatsApp Action with Automator conditions

You can keep notifications as simple or as advanced as you want in Uncanny Automator. You can even schedule and delay them.

More data

Suppose you want to send a confirmation notice to students when they complete a course—some type of congratulatory message. The LearnDash Notifications Add-On makes this really easy, and in the email you can include details like first name (or really any user data) as well as the course name. For many sites, this is enough.

Uncanny Automator, of course, currently has support for over 5,000 unique tokens. Some are based on user and system data, some based on the trigger, others even based on data in other actions in the same recipe. Here are just a handful of examples of other types of data you could include in the notification above if you used Automator instead of the LearnDash Notifications Add-On:

  • The number of courses the user has completed.
  •  Custom meta for the course, like continuing education credits earned, course duration or course author.
  • The course expiry date.

Or you could just do more with it, like include a coupon code for the user’s next course purchase or attach a printable PDF certificate along with the notification.

Get started for free

Many of the notification types outlined in this article are fully available in the free version of Uncanny Automator and run without restrictions. Triggers related to quizzes and course, lesson and topic completions are unrestricted in the free version of Automator, as are sending emails to students, Group Leaders and admins. By signing up for a free account, you can also try out notifications via Slack, WhatsApp, Twilio and more with complimentary credits.

With the right notification system in place, improved knowledge transfer and community building are just a few clicks away. Between the LearnDash Notifications Add-On and Uncanny Automator, LearnDash users have easy access to a class-leading notification system for elearning platforms.


How to Create & Sell LearnDash & WooCommerce Promo Codes

In this step-by-step guide, we’ll show you how to create and sell LearnDash and WooCommerce promo codes. Use them for course registrations, to sell event tickets or to unlock special features on your website.

So you want to be a master codebreaker, do you? Well, you’ve come to the right place. With Uncanny Codes, you can create and customize unique codes to sell, unlock or promote just about anything on your website.

Whether you want to use codes for event registration, product tie-ins, or to run limited promotions, Uncanny Codes has you covered. In this quick guide, we’ll show you how to create and sell promo codes and feature some of the best ways to use them.

Don’t worry, you won’t actually need to know anything about cryptanalysis in order to follow along.

What You’ll Need

If you want to “crack the code”, you’re going to need a supercomputer— or a cipher machine and a lot of time. But if you’re trying to make some unbreakable codes of your own, all you’ll need are these awesome WordPress plugins.

Uncanny Codes

Uncanny Codes is the best code management plugin for WordPress. Auto-generate dozens (or thousands) of codes with your own prefix, suffix, expiration date and usage rules. Native form-building integrations with Gravity Forms, WPForms and others makes Uncanny Codes easy-to-use on the front and end back end.

How to Create & Sell LearnDash & WooCommerce Promo Codes 1 — Uncanny Codes Features

Click here to download the Uncanny Codes plugin.

Uncanny Automator

Uncanny Automator is the #1 WordPress automation plugin. Create combinations of triggers and actions across 100+ integrations to automate repetitive tasks, improve your workflows, and save time and money.

Automator Mascot Icon 512px

Ironically, Automator has a no-code promise (the computer programming kind) that will make creating your own codes (the promotional kind) easier and a lot more fun than trying to crack the Caesar shift. And, not to mention, a lot cheaper than hiring a developer.

Click here to download the Uncanny Automator plugin.


As the most popular ecommerce plugin for WordPress, WooCommerce needs no introduction—but it’s a key tool in our codebreaking algorithm so we’ll introduce it anyway. In addition to stocking your digital shelves, WooCommerce can handle payment processing, shipping and tracking, marketing, memberships and more.

How to Create & Sell LearnDash & WooCommerce Promo Codes 2 — WooCommerce Homepage

With countless extensions and tons of powerful themes, you can build and customize your ecommerce store anyway you’d like. It’s not an enigma why more than 6.3 million websites power their online shopping experience with WooCommerce.

Click here to download the WooCommerce plugin.

Now that you have Uncanny Codes, Automator, and WooCommerce, there isn’t a spy on earth who can make codes faster than you. In the next section, we’ll show you how to generate codes, create WooCommerce products to sell them and how to configure automations that fit into your workflows.

How to Sell Anything with Codes

In this example, we’ll show you how to generate batches of codes that future students can redeem to gain access to online courses—almost like a cryptographic key!

Leverage partnerships with academic institutions, publishers and marketers and include these codes in printed textbooks and other hard copy content. Then, students and customers can register on your website to redeem the codes and gain access to supplementary material or special promotions.

Alternatively, with just a few tweaks to this example, you can sell codes for event registration or as event tickets, to run limited promotions, or to unlock restricted (read: top secret) content.

Here’s how it’s done.

Step 1: Generate Your Codes

From your WordPress Admin Sidebar, navigate to Uncanny Codes > Generate codes. You’ll be prompted to name the batch of codes that you want to create. We’ve named this batch of codes Introduction to Cryptanalysis.

How to Create & Sell LearnDash & WooCommerce Promo Codes 3 — Uncanny Codes Name this batch of codes

Next, you’ll have to select a method for how you intend to use the codes. We want these codes to enroll users into LearnDash courses/groups when they are redeemed. However, we’ll be selling the codes to academic institutions, corporate entities and/or publishers to distribute to end-users on their own. In order to be able to sell the codes, we’ll have to select the Uncanny Automator option.

How to Create & Sell LearnDash & WooCommerce Promo Codes 4 — How are the codes going to be used

Under Code settings, in the field labeled Number of uses per code, set the value to “1”. Setting the number of uses, or redemptions, per code to anything other than “1” will prevent you from being able to sell them.

Set an expiration date and time. If you’re selling these codes to an academic institution or textbook publisher, you can set the expiration date and time to coincide with the academic year and/or the publication date of new textbook editions.

Next, select Auto-generate codes.

How to Create & Sell LearnDash & WooCommerce Promo Codes 5 — Uncanny Codes Code settings

No two codes are alike—that’s what makes them so tough to crack. To auto-generate your codes, fill in the remaining fields as desired. For example, we’re creating 1,000 unique codes with the suffix “01” for our own internal record keeping purposes. Alternatively, someone selling event tickets in the form of codes might choose location prefixes or suffixes to denote cities, states, and/or countries. In later steps, you’ll see how you can use filters to sort users into different workflows based on data such as code prefixes and suffixes.

How to Create & Sell LearnDash & WooCommerce Promo Codes 6 — Uncanny Codes Code settings auto-generate codes fields

After you’ve configured your code settings, click Generate codes and create a recipe.

Step 2: Create a New Recipe

Once your codes have been created, Uncanny Codes will take you to an Uncanny Automator recipe editor screen that will look something like this:

How to Create & Sell LearnDash & WooCommerce Promo Codes 7 — Uncanny Automator Uncanny Codes New Recipe Screen

Much like with your batch of codes, the first thing you’ll want to do is give your recipe a name that makes it easy to recognize at a glance. For example, we’ve named this recipe Uncanny Codes—LearnDash: Introduction to Cryptanalysis.

Next, in the Actions panel, click Add action. From the menu of available integrations, click LearnDash.

From the drop-down list that appears, select Enroll the user in a course and select the course that you want to associate with your new batch of codes. When you’re finished, click Save.

How to Create & Sell LearnDash & WooCommerce Promo Codes 8 — Automator LearnDash Action Enroll the user in a course

In the Recipe box in the upper right-hand corner, toggle the recipe from Draft to Live.

How to Create & Sell LearnDash & WooCommerce Promo Codes 9 — Uncanny Codes—LearnDash Introduction to Cryptanalysis Recipe Live

This automation will ensure that end-users crack the code (i.e., get enrolled in your supplementary course when they enter a code).

Step 3: Create a New Product

In the Automator recipe editor screen, you would have seen a friendly reminder to create a product associated with your new batch of codes so that you can sell them in your WooCommerce store.

How to Create & Sell LearnDash & WooCommerce Promo Codes 10 — Uncanny Codes Reminder to Create Product

After you’ve created your recipe, from your WordPress Admin Sidebar, navigate to Products > Add new. In the Product data panel, set the product type to Codes for Uncanny Automator.

How to Create & Sell LearnDash & WooCommerce Promo Codes 11 — Product type Codes for Uncanny Automator

Once you’ve set the product type to Codes for Uncanny Automator, the product will automatically be set to Virtual.

Each unique code that is part of a batch is sold individually. As such, the Regular price reflects the price per code. We’ve selected our code batch, Course Access, and set the price per code at $5.00.

How to Create & Sell LearnDash & WooCommerce Promo Codes 12— WooCommerce Product settings

Finish configuring your product as desired, including setting the title, product description, low stock threshold, etc. When you’re finished, click Publish.

Congratulations! You’re now ready to sell codes—just don’t get caught.

Step 4: Start Selling Codes

The next step in selling your codes is setting up a smooth workflow that minimizes friction for your customers and end-users and maximizes your sales.

Based on our product configurations, this is how our customers (academic administrators, publishers, etc.) will view the product page for our access codes:

How to Create & Sell LearnDash & WooCommerce Promo Codes 13 — Introduction to Cryptanalysis Product Page

Once this customer completes their shopping experience, they will pay $5.00 each for five (5) unique codes.

How to Create & Sell LearnDash & WooCommerce Promo Codes 14 — Introduction to Cryptanalysis Shopping Cart

After their order has been completed, the customer will land on a confirmation page with their purchased codes and a clickable Download CSV button. They’ll also receive an email with their codes along with a .csv file with the same information.

How to Create & Sell LearnDash & WooCommerce Promo Codes 15 — Purchased Codes

If we return to the product editor screen after the customer’s purchase as a site administrator, we can see that our inventory of codes has been reduced by five (5) with 995 still available for sale.

How to Create & Sell LearnDash & WooCommerce Promo Codes 16 — Introduction to Cryptanalysis Available Codes

Step 5: Create a Code Redemption Workflow

Once your customers have purchased their codes, they can decide their own method of distribution to the end-user. For example, textbook publishers can print one code in each textbook with instructions for code redemption. Marketers can do the same with their hard copy content or with user-restricted content on their own digital platforms. Academic institutions and office administrators can send the codes via email within their organizations.

To finally crack the code, however, the end-users will need some help from you.

If you are using the Gutenberg block editor, you can simply drag and drop the User Redeem Code block into the page you are editing. Alternatively, you can copy and paste the shortcode [uo_user_redeem_code] into a shortcode block.

How to Create & Sell LearnDash & WooCommerce Promo Codes 17 — Gutenberg Block Editor Uncanny Codes User Redeem Code

More advanced WordPress users can find alternate ways to incorporate code redemption into their workflows. For example, you can combine Uncanny Codes’ native WPForms integration along with Elementor Pro to create a sleek popup like the one below for users to redeem their codes.

How to Create & Sell LearnDash & WooCommerce Promo Codes 18 — Uncanny Codes WPForms Elementor Pop

Next, create an Uncanny Automator recipe that displays the Elementor popup after a user logs in to your website for the first time.

How to Create & Sell LearnDash & WooCommerce Promo Codes 19 — WordPress-Elementor First Time Login Popup Recipe

Users might accidentally click out of your popup without having redeemed their code. Give users the option to recall the popup with an Automator magic button.

In a new recipe editor, in the Triggers panel, select Automator from the menu of available integrations.

How to Create & Sell LearnDash & WooCommerce Promo Codes 20 — Automator Trigger Integrations Automator

From the drop-down list that appears, select A user clicks a magic button.

How to Create & Sell LearnDash & WooCommerce Promo Codes 21 — Automator Trigger A user clicks a magic button

The trigger contains a shortcode that you can copy and paste to embed the magic button anywhere on your website—for example, a user account page.

How to Create & Sell LearnDash & WooCommerce Promo Codes 22 — Automator Trigger A user clicks a magic button Live

Recreate the Elementor Pro popup action from the previous recipe in the Actions panel and toggle your recipe from Draft to Live.

How to Create & Sell LearnDash & WooCommerce Promo Codes 23 — Automator Elementor Code Redemption Popup Recipe

Your new users will be cracking codes like chestnuts!

Bonus: Create a Code Tracking Network

Every master codebreaker knows; you’re only as good as your spy network. If you or your customers need to keep track of code usage—for example, a compliance officer tracking employee enrollment in your course(s)—you can set up this recipe or one similar to it.

(Note: if you set up this recipe to track code usage, you can delete the recipe we made in “Step 2” once this one is Live as adding a user to a LearnDash group also gives them access to the courses associated with that group.)

We’ll start by setting up a trigger and action that creates a LearnDash group when a user purchases codes.

From your WordPress Admin Sidebar, navigate to Automator > Add New. In the pop-up window that appears, select Logged-in users and click Confirm.

How to Create & Sell LearnDash & WooCommerce Promo Codes 24 — Automator Recipe Type Selector Logged-in users

Name your recipe. We’ve named this recipe WooCommerce-LearnDash: Introduction to Cryptanalysis.

In the Triggers panel, from the menu of available integrations, click WooCommerce. From the drop-down list that appears, select A user pays for, lands on a thank you page for an order with a product.

How to Create & Sell LearnDash & WooCommerce Promo Codes 25 — Automator WooCommerce Trigger A user completes, pays for, lands on a thank you page for an order with a product

Next, in the Actions panel, click Add action. From the menu of available integrations, click LearnDash.

How to Create & Sell LearnDash & WooCommerce Promo Codes 26 — Automator Actions Integrations LearnDash

From the drop-down list that appears, select Create a group.

How to Create & Sell LearnDash & WooCommerce Promo Codes 27 — Automator Action LearnDash Create a group

Automator will present you with an editor where you can configure the group settings. We’ve used a token (a dynamic piece of data pulled from our website) to complete the Group name.

How to Create & Sell LearnDash & WooCommerce Promo Codes 28 — Automator LearnDash Action Create a group editor

When you’re finished with your configurations, click Save. Your action should look like this:

How to Create & Sell LearnDash & WooCommerce Promo Codes 29 — Automator LearnDash Action Create a group Live

Now, to complete our “spy network” we’re going to add a second trigger and a second action along with a filter.

In the Triggers panel, click Add trigger then click WPForms or whichever form-building plugin you used for your code redemption form. From the drop-down list that appears, select A user submits a form and select the form that contains the code redemption field. Click Save.

At the top of the Triggers panel, ensure that the Run recipe when setting is set to Any.

How to Create & Sell LearnDash & WooCommerce Promo Codes 30 — Automator WPForms Trigger A user submits a form

In the Actions panel, click Add action then click LearnDash. From the drop-down list that appears, select Add the user to a group.

How to Create & Sell LearnDash & WooCommerce Promo Codes 31 — Automator LearnDash Action Add the user to a group

Automator will prompt you to select a group. Because the group to which we will be adding these users has not yet been created (i.e., another user has not yet purchased the codes) we’re going to use a powerful feature called action tokens (dynamic pieces of data pulled from within the same recipe).

In the Group field, select Use a token/custom value.

How to Create & Sell LearnDash & WooCommerce Promo Codes 32 — Automator LearnDash Action Add the user to a group Group field

In the empty field that appears, click the Asterisk, the token symbol. Under Actions, select Create a group > Group ID. When you’re finished, click Save.

How to Create & Sell LearnDash & WooCommerce Promo Codes 33 — Automator LearnDash Action Add the user to a group Action tokens

With both actions, your Actions panel should look like this:

How to Create & Sell LearnDash & WooCommerce Promo Codes 34 — Automator LearnDash Actions Create a group and Add the user to a group

In our example, the user who purchases our codes (administrators, publishers, etc.) is not the same user who will be enrolling in our course (students, employees, etc.). As such, we need a way to “filter” users into the correct set of actions.

In the Actions panel, hover over the Create a group action and click Filter.

How to Create & Sell LearnDash & WooCommerce Promo Codes 35 — Automator LearnDash Actions Create a group Filter and Delay

In the Conditions window that appears, select WooCommerce > The user has purchased a specific product.

How to Create & Sell LearnDash & WooCommerce Promo Codes 36 — Automator LearnDash Actions Create a group WooCommerce Condition The user has purchased a specific product

In the window labeled Configure the rule, select the product associated with your codes. In our example, that’s Introduction to Cryptanalysis.

How to Create & Sell LearnDash & WooCommerce Promo Codes 37 — Automator LearnDash Actions Create a group Configure the rule

After you’ve selected your product, click Save filter. The action should now look like this:

How to Create & Sell LearnDash & WooCommerce Promo Codes 38 — Automator LearnDash Actions Create a group Filter Live

To ensure that group leaders are not included as group members, you can add another filter to the Add the user to a group action as follows:

How to Create & Sell LearnDash & WooCommerce Promo Codes 39 — Automator LearnDash Actions Add the user to a group Filter Live

With these filters in place, Automator will sort users into groups to suit our workflow.

To complete our “network” and notify the group leader whenever a code is redeemed, we can add another action.

In the Actions panel, click Add action then click LearnDash. From the drop-down list that appears, select Send an email to Group Leaders of a group.

How to Create & Sell LearnDash & WooCommerce Promo Codes 40 — Automator LearnDash Actions Send an email to Group Leaders of a group

Automator will present you with an editor where you can configure the email message to send to group leaders whenever a user fills out the redemption form. Use tokens to include the user’s name and the code they redeemed.

How to Create & Sell LearnDash & WooCommerce Promo Codes 41 — Automator LearnDash Actions Send an email to Group Leaders of a group Email editor

When you’re finished, click Save. Your Actions panel should look like this:

How to Create & Sell LearnDash & WooCommerce Promo Codes 42 — Automator WooCommerce LearnDash Recipe Actions Panel

Finally, in the Recipe box, click Edit next to Times per user and set the value to “1”. This will ensure that, if a user goes on to purchase more codes from this batch in a separate transaction, they won’t create duplicate groups.

Toggle the recipe from Draft to Live.

How to Create & Sell LearnDash & WooCommerce Promo Codes 43 — Automator WooCommerce LearnDash Introduction to Cryptanalysis Recipe Live

Keep Cool, Keep Coding

Now that you’re a master codebreaker, we bet there isn’t anything you can’t sell on your website with the right code, product and recipe settings. What are some of the codes that you need us to crack? Let us know in the comment section below. Until then, keep cool and keep coding!

Uncanny CEUs: Archive quiz results

The Uncanny Continuing Education Credits plugin for LearnDash is perhaps the #1 tool for archiving LearnDash course records. Out of the box, LearnDash on its own can only track the current attempt for a course. If users retake a course after a progress reset, all records of earlier course activity, including certificates, is wiped out. Uncanny Continuing Education Credits (a.k.a. Uncanny CEUs) was born out of a need to keep a record of all course activity.

Introducing quiz record archives

We have archived LearnDash course records for years. The completion records could be included in transcripts to give a complete record of a user’s learning activity as well as in admin and front end reports. For compliance and other periodic training, these permanent course records were invaluable, but they were just that–course records.

With the release of Uncanny Continuing Education Credits 4.0, we’re adding support for quiz record archiving to the mix. Need to know how some students performed in final course quizzes 3 years ago? No problem. Concerned that our Quiz Question Analysis Report in Tin Canny has invalid results because it doesn’t captured archived quiz records? Not any more!

Generate historical records

Now that Uncanny CEUs can archive more than just quiz data, we had to rebuild some of the Settings page to support different data types. Here’s how things look now if you want to generated credit records, course records and quiz records:

Archive LearnDash course and quiz results

Generating results really is as easy as clicking a button. It can take a few minutes with lots of results, but in the end you will have a complete set of data that will survive course and quiz progress resets.

Of course, these steps are generally only needed when you first install the plugin. Once activated, Uncanny CEUs will automatically add all new course and quiz records to our special archive tables.

When historical results are stored, our plugin is recording a permanent record of quiz dates, scores, and answers to multiple choice questions.

Using historical records

Tracking the data is one thing, but how do you go about using it?

Archived quiz results are primarily for admin use, so once archived records have been stored, we add a new section to edit user pages in /wp-admin/ that shows these records. It shows up immediately beneath active quiz results in the Course Info section and looks like this:

Archive LearnDash quiz results

We also include quiz archive data in the Quiz Question Analysis Report.

There are a few important things to keep in mind:

  • While quiz records are stored in the archive as they’re recorded, each quiz attempt will only show up ONCE on the edit user page and reports. In other words, after completion, the attempt would show up with regular quiz results only. It is only after a course progress reset wiped out quiz records that the attempt would be moved and show up in the “Archived quiz results” section instead.
  • It is not possible to delete archived quiz results.
  • Quiz certificates are not retained, only quiz scores, dates, and multiple choice answers.

Other CEU additions

Don’t worry, there are other new features in the 4.0 release as well!

For anyone that works with multi-course certificates, access was always limited to email delivery and retrieving files from the web server. Now, for developers that need more flexibility and want to retrieve this certificate type with something user-facing, links to certificates are stored in user meta. Here’s how you can use them:

  • ceu_multicert_$certificate_id_course_$course_id = certificate path (certificate id and course id are actual certificate and course ids)
  • ceu_multicert_$certificate_id_course_$course_id_earned = current timestamp (certificate id and course id are actual certificate and course ids)
  • ceu_multicert_$certificate_id_earned = current timestamp (certificate id is actual certificate id)
  • uo-ceu-multicert-$current_time = possible array of all certificates generated
  • uo-ceu-multicert-linked-courses-$current_time = all courses linked to certificate
  • uo-ceu-multicert-certificates-$current_time = all certificates matching courses

$current_time and timestamps will be the same for all keys added above.

If you’ve ever wanted to show credit values associated in a course on non-course post types, you could pass in a course ID, but that made it very difficult to use in sitewide elements like a sidebar. In the 4.0 release we have added detection to the [uo_ceu_available] shortcode, so now if it’s used in a lesson or topic post type, it can look up the parent course and show the credit value for that course.

That covers the highlights of the Uncanny Continuing Education Credits 4.0 release. Make sure to check the changelog for a complete set of updates.

7 Cool Ways to Award LearnDash Certificates

Gold stars and extra credit are fun ways to motivate students and reward them for their hard work—but they don’t exactly speak to credentials. Certificates, however, give students something to work towards and serve as a tangible testament to their academic achievements. They also just look great hanging on the wall.

In this step-by-step guide, we’ll show you how to improve student engagement using LearnDash certificates. Keep that certificate seal handy—with these eight cool ways to use LearnDash certificates, you’re going to need it!

What You’ll Need

Just like your students need tools for learning, you’re going to need some tools for awarding certificates and improving student engagement. Sadly, a laser pointer won’t do but we think you’ll find these plugins and add-ons much more helpful—and far less hazardous to your eyesight. They’re both easy to use and have a free version you can demo before making an investment.

Uncanny Toolkit Pro

Uncanny Toolkit Pro is the #1 must-have add-on for LearnDash websites—probably because it’s a masterclass in “Saving Time for Your LMS”. In addition to features such as course dashboards and personalized logins, Toolkit improves the functionality of LearnDash certificates to make administration easy and improve the student experience. Enhance your certification process with modules to preview certificates, automatically email them to students and staff or let your students show off their credentials with a certificates widget.

Uncanny Toolkit Pro

Feel free to check out the full list of features and the Pro pricing schedule by clicking here. We’ll be using Toolkit Pro features in our examples but that doesn’t mean you can’t download the free plugin and try out core modules.

Uncanny Automator Pro

If you’re running an LMS WordPress website, then Uncanny Automator is the best way to save yourself time and money. Connect your various apps and plugins for enhanced functionality, automate repetitive tasks and workflows and eliminate bloat from your website. Specifically, Automator packs so many LearnDash triggers and actions into even the free version of the plugin that you’ll feel like you’re cheating on an exam.

Automator Homepage

With Automator’s no-code, click-and-configure interface, you’ll be able to email LearnDash certificates to anyone on your contact list for just about any interaction that occurs on your website. In case that wasn’t enough, you can connect your LearnDash certification process to databases like Airtable, CRM tools like ActiveCampaign, ecommerce plugins like WooCommerce or even membership plugins like Restrict Content Pro.

Definitely try out the free Automator plugin and its dozens of LearnDash actions and triggers. Then, when you’ve gotten the hang of it, upgrade to Automator Pro to make the most of your LMS.

In addition to Toolkit Pro and Automator Pro, we’ll feature other commonly-used plugins and apps such as WooCommerce and The Events Calendar but these are only optional.

7 Cool Ways to Award LearnDash Certificates

Now that you’re all set up with the right tools, let’s look at these seven cool ways to award LearnDash certificates so that your students can start decorating their walls with their credentials.

1. Email LearnDash Certificates with Toolkit Pro

Uncanny Toolkit Pro allows you to email PDF copies of certificates to students and administrators with just a click. Here’s how it’s done:

Step 1: From your WordPress Admin Sidebar, navigate to Uncanny Toolkit > Modules.

Step 2: Scroll down to the modules titled Send Course Certificates by Email and Send Quiz Certificates by Email or type “certificates” into the search bar.

Uncanny Toolkit Pro Send Certificate Modules

Step 3: Toggle the button in the upper right-hand corner to the “On” position.

Step 4: Click Settings to configure the module and draft the email. You can then decide who will receive the email and draft the title and content using dynamic data to personalize the message.

Uncanny Toolkit Pro Send Certificate Module Email Editor

Step 5: Once you’ve configured the settings and drafted your email message, click Save module. Your students will now receive automated emails with a PDF copy of their certificate, ready for printing and framing!

2. Email LearnDash Certificates with Shortcode and Magic

Using some “copy-and-paste” shortcode and a little magic, you can put the power of printing certificates in your students’ hands—or, more accurately, at their fingertips. Upon completion of a course, present your students with a button to click if they would like to receive an emailed copy of their certificate. Here’s how to cast the spell:

Step1: From your WordPress Admin Sidebar, navigate to Automator > Add New. In the pop-up window that appears, select Logged-in users.

Uncanny Automator Add New Recipe Logged-in Users

Step 2: Name your recipe something that makes it easy to remember, like… Certified Magician.

Uncanny Automator Recipe Title

Step 3: From the menu of available integrations, click Automator.

Uncanny Automator Trigger Automator

Step 4: From the drop-down list that appears, select A user clicks a magic button.

Uncanny Automator A user clicks a magic button trigger

Step 5: Your trigger should now look like this:

Uncanny Automator A user clicks a magic button trigger Live

Copy the bracketed text [acutomator_button id=” xxxxx “ “ label=”Click here”] and save it to your clipboard. We’re going to embed this shortcode in the Classic Editor of the desired course.

Step 6: From your WordPress Admin Sidebar, navigate to LearnDash > Courses and click Edit beneath the course for which you would like to offer certificates to students for course completion.

LearnDash Course Editor

Step 7: In the Classic Editor screen, click the Add button icon then click Shortcode and paste the magic button shortcode (the bracketed text we copied from Step 5) into the box.

LearnDash Course Editor Shortcode

Step 8: Next, we’ll need some additional shortcode so that the Automator magic button only appears for students who have completed the course. Thankfully, LearnDash has a library of preset shortcodes for us to use. Click here for the LearnDash Course Complete shortcode or copy the bracketed text: so that the finished block should now look like this:

LearnDash Hide Automator Magic Button Shortcode

The Automator magic button will now only appear to students who have completed the course. You can add a new block above this one, describing the purpose and function of the Automator magic button or you change the label itself to something more descriptive by simply replacing “Click here”.

Step 10: Return to your Automator recipe by navigating to Automator > All recipes and clicking Edit beneath Certified Magician.

Step 11: In the Actions panel, click Add action then click LearnDash.

Automator Action LearnDash

From the drop-down list that appears, select Send a certificate.

Automator LearnDash Send a certificate Action

Use tokens such as User email, User first name, etc. to send, draft and customize your email.

Automator Send a certificate Action Email Editor

Note: When formatting the Certificate body, do not use shortcodes. As in the image above, only use tokens by clicking on the asterisk symbol. You can use these tokens to include information such as dates, user first and last names and courses.

Step 12: In the upper right-hand corner, toggle the recipe from Draft to Live. It should look like this:

Automator Send a LearnDash Certificate from Magic Button Trigger

“Abracadabra!” Just like that, your students can receive their certificate upon course completion with just a click.

3. Sell LearnDash Certificates with Automator and WooCommerce

Learning should be—and often is—totally free. But credentials often come with costs. With Automator and WooCommerce, you can offer paid LearnDash certificates for free courses. Here’s the best way to sell those certificates:

Step 1: The first thing you’ll want to do is to create a WooCommerce product. You’ll then connect this product to a LearnDash certificate using Automator.

From your WordPress Admin Sidebar, navigate to Products > Add New. In the Product data panel, set the product to Virtual.

WooCommerce Virtual Product

Finish configuring your product as you’d like by setting the price, image(s), upsells, cross-sells, etc. Once the product is to your liking, click Publish.

Step 2: In these next steps, we’ll create a recipe that connects your WooCommerce product to a LearnDash certificate. We’ll add an additional trigger so that only the students who have earned the certificate will receive it.

From your WordPress Admin Sidebar, navigate to Automator > Add New and select Logged-in users.

Step 3: Name your recipe. We’ve named this recipe WooCommerce-LearnDash: Certificate Order.

Step 4: In the Triggers panel, click LearnDash. From the drop-down list, select A user completes a course. Select the course associated with the certificate and click Save.

Automator LearnDash A user completes a course Trigger

Step 5: Still in the Triggers panel, click Add trigger then WooCommerce. From the drop-down list, select A user completes, pays for, lands on a thank you page for an order with a product.

Automator WooCommerce A user completes, pays for, lands on a thank you page for a product Trigger

Step 6: Automator will prompt you to configure the rest of the trigger settings. We selected completes then chose our newly created product from the drop-down list. Your finished triggers should look something like this:

Automator LearnDash and WooCommerce Triggers

Step 7: In the Actions panel, click Add action then click LearnDash. From the drop-down list, select Send a certificate and configure the rest of the settings. When you’re finished, click Save. Your action should look like this:

Automator LearnDash Send a certificate Trigger Live

Step 8: Toggle the recipe from Draft to Live. Here’s what the final recipe should look like:

Automator LearnDash WooCommerce Recipe

Step 9: Students can sometimes be forgetful—because their heads are full of knowledge. If you wanted to ensure that your students get the recognition they deserve, you could create a second recipe to send an email upon course completion with a link for them to purchase their certificate. Grab the product url from the product page and paste it into the Email body field of your Automator action. That recipe might look something like this:

Automator Send a Certificate Upon Course Completion

You could also use Automator’s tagging actions with CRMs like Groundhogg, Mailchimp or Mailpoet to send even more compelling emails and boost conversions.

4. Award LearnDash Certificates for Live Event Attendance

Who doesn’t love to have a perfect attendance record? You can use Automator to send certificates to attendees of live events as a way for your students to remember the occasion. Here’s how to send certificates as souvenirs of successful events:

Step 1: From your WordPress Admin Sidebar, navigate to Automator > Add New and select Logged-in users.

Step 2: Name your recipe. We’ve named this recipe Special Event Attendance Certificate.

Step 3: In the Actions panel, click The Event Calendar and select A user attends an event. Automator will prompt you to select your event from a drop-down list. After you’ve selected your event, click Save.

Automator The Events Calendar A user attends an event Trigger

Step 4: In the Actions panel, click Add action then click LearnDash. From the drop-down list, select Send a certificate and configure the rest of the settings. When you’re finished, click Save.

Step 5: Toggle your recipe from Draft to Live. The finished recipe should look like this:

Automator LearnDash Certificate for Event Attendance

Step 6: Concerned about event certificates only being available by email and not from the website? One solution would be to create a hidden course with an associated course certificate. Then, in our event attendance recipe, change the action so it completes the hidden course instead of sending the certificate via email.

This way, the Toolkit Pro module to send a certificate can provide it by email, and the Show Certificates module in the free version of Uncanny Toolkit can show event certificates to students!

5. Credit & Course Group Based Certificates

Credit where credit is due—which, in this case, means awarding certificates. If you have purchased the Uncanny Continuing Education Credits plugin, you can award certificates for groups of courses as well as for credits earned. Here’s how to claim the credit:

Step 1: After downloading the Uncanny Continuing Education Credit plugin, navigate Uncanny CEU > Settings.

Step 2: Scroll down to the section labeled Certificate Email Settings. Check the boxes next to Enable Multi Course certificate and Enable CEU Credits certificate. You can also choose to send the certificate to Site Administrators and Group Leaders as a prudent recordkeeping practice.

Uncanny CEUs Email Certificate Settings

Step 3: From your WordPress Admin Sidebar, navigate to LearnDash > Certificates. Select the certificate you would like to award based on credit or course groups or create a new one. On the right-hand side of the Classic Editor, you’ll see options to award the certificate based on CEU credits accumulated or courses completed.

Uncanny CEUs Certificate for Multiple Course Completion

Once you’ve finished configuring your certificate, click Publish.

Step 4: Finally, navigate to LearnDash > Courses. From the Classic Editor within each course, you can set the CEU value. If you’re not certain how to do this—or would like to “continue” your Continuing Education Credits learning—click here.

6. Award LearnDash Certificates for Course Series with Automator

If you don’t have the Uncanny Continuing Education Credits plugin, you can still award certificates to students who complete a series of courses using Automator. It’s a lot easier than building a curriculum, we promise.

This recipe won’t differ much from previous set-ups using Automator. The only difference is that you’ll add multiple triggers; one for each course. The finished recipe should look something like this:

Automator Send Certificate for Multiple Course Completion

7. Award LearnDash Certificates for Offline Learning Activities

Why just keep the classroom online? You can leverage the power of LearnDash, Automator and Uncanny CEUs to make changes in the real world! Combine Automator with any form-building plugin or web application such as WPForms or Forminator to award credits and send certificates following offline learning events.

Step 1: You’ll need some method of verifying attendance for your offline learning activities—this will serve as the trigger for our Automator recipe. If you already have a verification process, you can skip to the next step.

For our verification process, we’ve created a form. This form can be a simple registration form or a more complex form with information only the attendees would know. It’s up to you to configure as you’d like.

Step 2: Create a new recipe in Automator, select Logged-in users and choose an appropriate title.

Step 3: In the Triggers panel, configure your trigger according to your verification process. In our example, we’ve selected our form-building integration and the form associated with our offline learning activity. Click Save.

Step 4: In the Actions panel, click Uncanny CEUs then select Award a number of custom CEUs to the user. Automator will prompt you to fill out the date, description and number of CEUs to award. When you’re finished, click Save.

Automator LearnDash Certificate for Offline Learning

Step 5: Create a second recipe to send certificates or mark a hidden course complete (and send the certificate with Uncanny Toolkit) based on the total number of CEUs a student has earned. That recipe might look something like this:

Automator LearnDash Certificate for Offline Learning Recipe Live

Keep Certifying

For students, certificates are as good as gold medals… if there was an Academic Olympics. And tools such as Uncanny Automator and Uncanny Toolkit help you leverage the certification process to improve your LMS and, ultimately, your students’ experience.

Try out a few of the examples we provided in this post and we promise you’ll spend less time administrating and more time educating. Then, when you’re ready, upgrade to the All Access Pass and get even more Uncanny plugins and add-ons, not to mention industry-leading support. Now that’s certifiably cool.

Uncanny Groups for LearnDash 5.0

Yes, the Uncanny Groups release is that big. It deserves the 5.0 label, because this is a giant release with dozens of changes and over 100 hours of development and testing time. A lot of what’s new probably won’t even be on the radar of most users, so we’re hoping this release brings a lot of happy surprises!

Ready for the list of what’s new? It’s a big list, but if you’re on Uncanny Groups user, we definitely recommend reading through to the end.

Pooled seats

Ever wish you could set up some groups in a hierarchy, and instead of having seats managed for each individual groups, the entire set of groups could draw from a shared pool of seats? That’s what this is. When enabled, groups that are connected together share their seats.

Suppose you sell course access to a school and grant that school 1,000 seats to use at their discretion. They’re going to want to divide students up into classes for reporting purposes as well as to manage course enrollment. Instead of having to figure out how to assign 20 seats to one group and 30 to another, now the entire set of classrooms shares from a total pool of 1,000 seats. If a Grade 9 math class uses up 20 seats, then a grade 10 music class uses 30, other groups now have a pool of 950 available seats.

That’s the simple introduction. We tried to keep it as straightforward as possible, but there’s a lot to consider when implementing pooled seats.

To get started, you’ll have to think about whether you want to enable pooled seats for specific groups only, and let Group Leaders control that setting, or whether you want all group hierarchies to have pooled seats enabled. Here’s what it looks like:

LearnDash Pooled Seats Settings

Checkbox 1 allows Group Leaders to control whether or not to enable seat pooling at the individual hierarchy level by adding a checkbox to the Group Management page. This checkbox is only shown when a top-level group is selected in a hierarchy, and it looks like this:

Top Level LearnDash Group Hierarchy

If checkbox 2 is also selected on the settings page, this forces all groups in all hierarchies to use the pooling system. It means the setting for pooled seats is now longer managed at the hierarchy level and instead enables it globally.

So how does it actually work, and what happens in various use cases? Let’s cover an example to make this more clear.

Suppose you start with a parent group with 100 seats assigned, and that parent group has a child group that has 50 seats. If pooled seats are enabled for the hierarchy, both parent and child groups would immediately see that the hierarchy now has 150 seats. (And if you disabled the pool again, the seats would return to 100 and 50 respectively.) When viewing the parent or child groups in this situation, all would show the same number of total and available seats.

In cases where enabling seat pooling results in no available seats, perhaps because of admin overrides, Uncanny Groups calculates the total pooled seats as the current number of users across all groups in the hierarchy and adds 10, but this default value can be overridden with a filter:

apply_filters( 'ulgm_pool_seats_add_extra_seats_in_parent', absint( 10 + $diff ), $diff, $group_id )

Just a note too that for any of this to work, group hierarchies must first be enabled in LearnDash settings and relationships must be set up for groups by administrators. There is not yet any way to manage group relationships in the front end or by Group Leaders.

New pricing options

For a very long time now we’ve had requests to override pricing rules and quantities for seats. Typically requests would sound something like these:

“I want to sell a group product for $999 that includes 100 seats, I don’t want users to have to choose a quantity of 100 and change my course prices to hit this pricing target.”

“I only want to sell groups with a minimum of 5 seats, they shouldn’t be available when the quantity of seats is just 2.”

We would always recommend WooCommerce pricing plugins that allowed easy overrides, but it wasn’t a great workaround. Today’s update adds native solutions to these problems to Uncanny Groups.

Here’s what the pricing section now looks like when setting up a Group License product:

LearnDash Group pricing rules

Normally, of course, the price is ignored for a Group License product, instead calculating the price based on the cost of each Group Course product and the number of seats purchased. But when “Fixed price” is checked, the “Regular price” field is used as the group cost regardless of the number of seats purchased. In the example above, we’re charging $100 for exactly 10 seats. Users cannot purchase another amount, they just buy a product here that includes 10 seats for that fixed cost.

The “Minimum” and “Maximum” quantity fields can be used independently to set limits around seat purchases. These might even be used to set up more advanced pricing rules for different group types.

New Gutenberg blocks

One of our customers rightly pointed out that we had Gutenberg blocks in other plugins for redemption and registration shortcodes, but we didn’t for [uo_groups_registration_form] and [uo_groups_redemption_form]. Now we do! Look for the new blocks for “Enrollment Key Redemption” and “Enrollment Key Registration”.

The new blocks add support for the normal shortcode attributes as well, so the registration block (for example) has settings for redirections, making the key optional, logging the user in automatically on submission and the default role.

New report sort options

We made it a lot easier to sort the various Uncanny Groups reports by different columns on load using shortcode attributes. There are a ton of new attributes here, so we’ll post the list with quick details:

Group management [uo_groups]

  • Enrolled users
    • enrolled_users_orderby_column – The title of the column used to sort. Default: First name
    • enrolled_users_order_column – Designates the ascending or descending order of the orderby parameter (asc/desc). Default asc.
  • Group leaders
    • group_leaders_orderby_column Default: First name
    • group_leaders_order_column Default asc

Course Report [uo_groups_course_report]

  • orderby_column Default: Date Completed
  • order_column Default: desc

Quiz Report [uo_groups_quiz_report]

  • orderby_column Default: Date
  • order_column Default: desc

Assignments Report [uo_groups_assignments]

  • orderby_column Default: Date
  • order_column Default: desc

Essay Report [uo_groups_essays]

  • orderby_column Default: Date
  • order_column Default: desc

For some of the above, please note that the values are stored in the browser cache, so you may not see changes immediately after updating shortcodes. Try a hard refresh or incognito mode for testing.

Other important updates

Group Leaders can now manage users and Group Leaders for child groups when they’re assigned to the parent group level. This makes it a lot easier to set Group Leaders up at the parent group only to manage hierarchies instead of adding them to every child group.

In the Manage Progress report, we now show a spinner when a search is active to make the activity more clear to users on slower sites.

A variety of WPML improvements are also now in the plugin.

That wraps up the highlights for the Uncanny Groups for LearnDash release! The full list of updates is available in the changelog.

5 Ways to Create Free Trials of Your LearnDash Courses

Everyone learns at their own pace. Some students can run through an entire course in a day. Others might need a few weeks to really comb through the material. That’s why creating free trials for your LearnDash courses is one of the best ways to serve your students. It’s also the best conversion-boosting tool you didn’t know you had!

In this step-by-step guide, we’ll show you five different ways to set up free trials of your LearnDash courses. While all methods offer their own advantages, we’ll focus on the methods that give students the most flexibility to learn at their leisure.

Why Offer Free Trials?

If you trust your product, why not let it speak for itself? Limited trials are one of the strongest marketing tools at your disposal.

Try, Don’t Deny

Free trials offer no-risk, hands-on experience. Not only do your students get a taste of your course material but they can also immerse themselves in your community, giving them another reason to sign-up after their free trial expires. For once, your students will be the ones doing the testing—and we know that you’ll pass with flying colors!

Get a Lead, Guaranteed

More often than not, users have to register in order to start their free trial. These new registrants represent valuable leads and you can start to gather information on their needs and preferences such as their mobile versus desktop usage. Even if they don’t become a paying customer after their trial expires, you can still use their contact information to extend exclusive deals.

Remitment Commitment

Imagine getting married to a perfect stranger. You have no idea who could be waiting at the other end of the aisle! That’s kind of what it’s like when you purchase an item you’ve never sampled before—minus the unbreakable vows, expensive rings and joint tax filings. Free trials give customers the opportunity to get to know your product before they elated say, “Yes! I will mar—buy your product!”

No Lack for Feedback

Use your free trials as an opportunity to make improvements. When did most free trial registrants become paying customers? When did they fall out of the free trial? You can even send a post-trial survey, asking your customers what they enjoyed about the trial and what they would have done without. For the unconverted, offer a special discount if they complete the survey or an extended free trial for more feedback.

Convinced that you absolutely must offer free trials? Here are four simple methods to get the job done.

Method 1: LearnDash Course Access Settings

For LearnDash users who want to set up one or two simple free trial courses—separate from their regular course offerings—this is the most straightforward method.

LearnDash has a feature called Course Access Expiration built right into the Course Editor. Though this feature was designed for content protection purposes, you can also use it to create dedicated free trial courses. Here’s how it’s done:

Step 1: Create Free Trial Course

From your WordPress Admin Sidebar, navigate to LearnDash LMS > Courses. In the upper right-hand corner, click Add New and create your dedicated free trial course.

Step 2: Configure Course Access Settings

In the Course Editor, navigate to Settings and scroll down to Course Access Expiration. Toggle the button to the On position and set the length of your free trial in days.

LearnDash Course Access Settings

That’s all! LearnDash will now grant access to the course for the specified number of days, starting on the user’s enrollment date. LearnDash also gives you a Data Deletion option so you can choose to either store or erase a registrant’s course data after their access has expired.

LearnDash Data Deletion

The Course Access Expiration setting works universally, meaning that it will apply to all users who register for the course. If you’re trying to set up a free trial for your existing courses, this method won’t suit your needs as you’ll have to create clones for each course for which you would like to offer a free trial. Additionally, your trial registrants won’t be able to transfer their progress from the trial course to its paid counterpart.

Method 2: Sample Lessons

LearnDash offers another very simple way for setting up free trials. Instead of time-limiting trial content, you can create lessons within courses that are free for anyone to sample. Here’s how it’s done:

  1. From your WordPress Admin Sidebar, navigate to LearnDash > Lessons.
  2. Select the lesson(s) you would like to offer as a free sample or create new ones.
  3. In the Lesson Editor, navigate to Settings then scroll down to the Lesson Access Settings section.
  4. Toggle the button next to Sample Lesson to the On position.
  5. Sit back and let your courses sell themselves!

LearnDash Sample Lesson Setting

This method for creating free trials of your LearnDash courses is perfect for letting your students learn at their own pace. However, there’s no way to restrict your trial content to signed-in users only without using another plugin such as Restrict Content Pro, MemberPress or WooCommerce Memberships. Using this method, you won’t always be able to track progress and follow leads.

Method 3: WooCommerce Trial Subscriptions

We’re going to create a free trial using a subscription and the built-in free trial feature in WooCommerce. For this method, you’ll need WooCommerce Subscriptions.

WooCommerce Subscriptions

After you’ve purchased WooCommerce Subscriptions, download the LearnDash WooCommerce integration for free. It’s one of the easiest ways to improve your LMS functionality and improve your students’ experience.

LearnDash WooCommerce Integration

You’ll need to have an active LearnDash license and be logged in to download the plugin. But once you integrate your LMS with your e-commerce platform, your students will be gobbling up your courses faster than you can make new ones.

Step 1: Configure LearnDash WooCommerce Integration

LearnDash offers a detailed step-by-step guide for setting up the integration but here’s a brief walkthrough:

  1. After downloading the LearnDash WooCommerce plugin, from your WordPress Admin Sidebar, navigate to WooCommerce > Settings.
  2. Click on the Accounts & Privacy tab.
  3. Deselect the Allow customers to place orders without an account option.
  4. Select the Allow customers to log into an existing account during checkout option.
  5. Select the Allow customers to create an account during checkout option.

Step 2: Configure Your Subscription Product

  1. From your WordPress Admin Sidebar, navigate to Products > Add New.
  2. Name your product—we named our product Free Trial Subscription—then scroll down to the Product data panel.
  3. From the drop-down list, select Simple subscription and click the box next to Virtual.
  4. Set the price, billing frequency and expiration period. As this is intended to be a free trial, set the Sign-up fee to $0.00.
  5. Set the length of your free trial in the Free trial field. For example, we set our free trial to 14 days. After that period, the payments will begin unless the user cancels their subscription. But with course material this good, why would they?!
  6. Next, thanks to the LearnDash WooCommerce integration, you can decide which of your LearnDash groups and courses this subscription product grants access to.
  7. Finish configuring your subscription product then click Publish. That’s it! The integration really does make it that easy.

WooCommerce Subscription Product Settings

To create even more dynamic free trials—and to save yourself a ton of time—there are a couple of other methods we highly recommend.

Method 4: Automated Free Trials for Courses

If you want to offer free trial access to an existing course, you could register and unregister students manually—but, between marking papers and offering extra lessons, who has time for all that busywork? Thankfully, there is a better way to offer free trial access to one of your existing courses where students can save their progress after their trial expires.

In order to automatically enroll and unenroll students, you’ll need a little help from Uncanny Automator and WooCommerce. Automator is the #1 WordPress automation plugin. Using recipes—combinations of triggers and actions—you can connect your favorite plugins and apps and automate your workflows to save time and money.

Automator Homepage

To create free trials for your LearnDash courses using Automator, you’ll need the Pro version. While the free plugin won’t be able to optimize your free trial registration process, it still offers plenty of functionality for LearnDash users. So, while we’re on the topic of free trials, download the free Automator plugin and try it out before making a decision. When you’re ready to upgrade, click here for Automator’s full pricing scheduling.

Step 1: Create a New Recipe

Once you’ve downloaded the plugin and registered your account, navigate to your WordPress Admin Dashboard. From the sidebar, navigate to Automator > Add New. In the pop-up window that appears, select Logged-in users.

Automator Recipe Type Selector

Step 2: Name Your Recipe

Start by naming your recipe so that you can easily identify it later on. We’ve named this recipe Free Trial Registration.

Step 3: Configure Your Trigger

Automator lets you decide how you would like to register users for your free trial. You could create a sign-up sheet with WPForms or Formidable Forms or you could even register students for a free trial of an advanced course if they passed its prerequisites. In this example, we’ve simply chosen to register all new students in our free trial.

In the Triggers panel, click WordPress. Then, from the drop-down list that appears, select A user is created with a specific role. Select the role that you’ve assigned to designate students and click Save.

Automator WordPress Trigger Configuration

Make sure that your trigger is set to Live before continuing.

Step 4: Configure Your Action(s)

In the Actions panel, select LearnDash.

Automator Action LearnDash

From the drop-down list that appears, select Enroll the user in a course. Automator will then prompt you to select the course for which you would like to offer a free trial. Click Save.

Automator Action LearnDash Enroll the user in a course

Your action should look like this:

Automator LearnDash Action Live

This action will get your new students started on their free trial—but how does it end? This is where the real magic of Automator comes in.

Beneath this first action, click Add another action and LearnDash once again. From the drop-down list that appears, select Unenroll the user from a course.

Automator Action LearnDash Unenroll the user in a course

Automator will prompt you to select a course. Choose the same course from your first action and click Save.

Now you’ll want to make some minor adjustments to this second action so that it doesn’t fire until the end of your new student’s free trial. To do this, hover over the three dots in the right-hand corner of the action and click Delay.

Automator Action Filter and Delay

An editor window will appear where you can choose to either schedule a date for the action to fire or set a time delay. To create a free trial, set a time delay. We’ve chosen a 14-day time delay to create a 14-day free trial. After you’ve set the length of your trial, click Set delay.

Automator Action Delay Configuration

Your recipe is now fully configured to automatically enroll and unenroll new students in your free trial. But what about those eager beavers who are so impressed with your course that they decide to purchase it before the end of their free trial? You can add a filter to the second action to unenroll students based on whether or not they’ve purchased course access.

Once again, hover over the three dots in the right-hand corner of the second action but this time, click Filter. In the pop-up window that appears, select WooCommerce then, from the drop-down list, select The user has not purchased a specific product. Automator will prompt you to select the product associated with granting access to your LearnDash course. Once you’ve selected the correct product, click Save filter.

Automator Action Filter WooCommerce The user has not purchased a specific product

Your free trial actions are now fully figured. Your Actions panel should look something like this:

Automator LearnDash Action Live

Step 5: Start the Trials!

With this recipe, Automator can handle all of the busywork of registering and unregistering students in your free trial. All that you have to do now is to toggle the recipe from Draft to Live. It should look something like this:

Automator LearnDash Recipe Live

Method 5: Automated Free Trials for Groups

It’s important that your students receive a broad education—and that they get an accurate sample of your course offerings during their free trial. If you want to offer a more generous free trial package than a single course, you can use the LearnDash Groups function in conjunction with Automator to enroll free trial participants in a whole curriculum worth of courses.

Step 1: Create a Free Trial Group

From your WordPress Admin Sidebar, navigate to LearnDash > Groups and click Add New in the upper right-hand corner. In the Edit Group page, click on Courses. You can use the field labeled Group Courses to add and remove courses from your free trial offering.

LearnDash Group Course Settings

Once you’ve finished configuring the rest of your new trial group settings, click Publish.

Step 2: Create a New Recipe

Just as with the previous recipe, from your WordPress Admin Sidebar, navigate to Automator > Add New. In the pop-window that appears, select Logged-in users.

Step 3: Name Your Recipe

We’ve named this recipe Free Trial Group Registration.

Step 4: Configure Your Trigger

Just as with the previous recipe, you can choose to register trial participants using any number of apps and integrations. For this example, we’ve decided to register trial participants using Fluent Forms.

Automator Fluent Forms Trigger Live

Step 5: Configure Your Action(s)

In the Actions panel, click LearnDash then select Add the user to a group. Automator will prompt you to select the free trial group that you create in Step 1 of this method. Once you’ve selected the correct group, click Save.

Automator Action LearnDash Add the user to a group

Beneath this first action to add the user to a group, click Add another action. From the options available, click LearnDash then, from the drop-down list, select Remove the user from a group.

Automator LearnDash Action Remove the user from a group

Automator will prompt you to select a group. Once you’ve selected your free trial group, click Save. Next, hover over the three dots in the upper right-hand corner of this second action and click Delay. Set the delay for the duration of your free trial.

You Actions panel should look like this:

Automator Action LearnDash Group Enroll and Unenroll

Step 6: Ready, Set, Trial!

We hope that your students are ready to sprint their way through your amazing free trial package! All you have to do now to start the learning marathon is toggle the recipe from Draft to Live. It should look like this:

Automator Recipe Free Trial Group Registration Live

Who Doesn’t Love Free Trials?

Whether you just wanted to set up a simple free trial course or wanted to offer total—albeit temporary—access to your online school, there’s a method that lets your students learn at their own pace. And, just as importantly, lets you work at your own pace.

By setting up free trials with Automator, however, you can make the most of your free trials. Add free trial participants to your mailing list with Groundhogg or MailChimp. Automatically tag the participants who didn’t opt-in after their free trial expired. And why not follow-up with an auto-generated coupon code if, after a few weeks, they still haven’t signed-up? Send free trial data to Airtable so you can better understand what drives conversions. With Automator, you can do all of that—and a lot more—and still save time and money.

What kinds of free trials would you like to offer your students? Let us know in the comments section below.

Uncanny Codes 4.2 includes our most requested feature!

Uncanny Codes gives you the ability to generate codes that users can redeem for almost anything on your WordPress site.  Originally built to provide a way for site admins to distribute codes for LearnDash course and group access, code redemption can now be redeemed for anything supported by Uncanny Automator, including memberships, achievements, store credit, coupon codes and much more.

With the ability to generate hundreds or thousands of codes for use by businesses and organizations, one of our most requested features was the ability to cancel individual codes within a batch, without deleting the batch and associated records of redemption.

Uncanny Codes version 4.2 now provides this feature, and it’s super easy to use.  Simply go to Uncanny Codes > Cancel codes, then upload a CSV containing a column with the heading “code” and the list of codes to be cancelled.  You can even upload the same file you download from a code batch.  Uncanny Codes will ignore the other columns:

Once you’ve uploaded the .csv, you’ll see a confirmation of the codes that were cancelled:

Codes that have been cancelled can no longer be redeemed by users:

And that’s all there is to it!  No more orphaned, valid codes floating around in the wild indefinitely or struggling to invalidate part of a code batch that has been refunded.

Let us know what you think of the new feature in the comments below.

Uncanny Codes: Form integrations and redemption updates

It’s time for a big update to Uncanny Codes, our popular platform for generating, tracking and redeeming codes that can do almost anything in WordPress. It’s been some a longer than usual time since our last update, so in today’s release, we’re adding a lot of really important features that will transform how it’s used on many WordPress sites.

New form integrations

Use Fluent Forms or Forminator?

You’re in luck, the Uncanny Codes 4.1 release adds new integrations both popular form builders. Here’s what the field looks like in Fluent Forms:

Uncanny Codes Fluent Forms Integration


And here it is in Forminator:

Uncanny Codes Forminator Integration

It works just like our current integrations with Gravity Forms, WPForms and Formidable. Add the field to a form and code redemption will be processed on form submission. You can use the new fields on everything from single-field redemption forms for logged in users to registration pages that require users to enter a valid code in order to register on a website.

Allow users to redeem the same code multiple times

This is a big new feature, one that we know caused some user frustration in our previous versions.

Up until now, Uncanny Codes would only let a single user redeem a code once, even if the code was set up to allow multiple redemptions. Originally we believe this was a good rule to have in place, as it prevented accidental redemptions by the same person and made codes a lot easier to manage.

Our customers pointed out, however, that this limitation didn’t always make sense. Maybe users repeated a course or needed to unlock something more than once, so instead of them having to juggle multiple codes and figure out what’s been used and what hasn’t, they get one code. When they’re ready to repeat whatever action the user performs (e.g. reset course progress to take it again, create a new job listing, add seats to a group), the user can just keep using the same code. In those situations, where the might be multiple iterations over time of the same action, multiple redemptions of the same code make a lot of sense.

As there is some complexity here, this new feature is managed by batch and it’s not managed in the UI; it does require a snippet of code.

Need more granular control or prefer to manage it at the code level? Here’s what you can leverage instead:

 * Allow multiple code redemptions per user
	function ( $allowed, $codes_batch_id ) {
		 * Only allow a certain number of times for certain batches.
		 * Remove this "if" statement block to apply it globally.
		if ( 123 === $codes_batch_id ) {
			$allowed = true; // use true or false
		return $allowed;
 * Number of times a code is allowed to be reused
	function ( $times, $codes_batch_id ) {
		 * Only allow a number of times for certain batches.
		 * Remove this "if" statement block to apply it globally.
		if ( 123 === $codes_batch_id ) {
			$times = 3; // any number can be used here
		return $times;

The code examples above allow site owners to control whether or not code reuse by the same person is allowed, by code batch or globally, and if allowed, how many times a code in each batch can be reused by the same person.

Override redemption limits

When we originally introduced a way to sell codes generated by our plugin with WooCommerce, we intentionally built it to be simple and easy for purchasers to manage codes. We restricted purchased codes to a single use each, as that made it easier for purchasers to track redemptions and distribute codes. Based on customer feedback, however, sometimes some flexibility around the number of allowed redemptions is needed. With that in mind, today’s release allows an override for code redemption limits.

This update leverages a new filter for maximum flexibility, so here’s a sample of how to use it:

	function ( $max_usage, $type, $codes_group_id ) {
		// filter by a specific code batch,
		// or comment the restriction out for all batches
		// Automator type max usage
		// of 5 per code:
		if ( 10 === (int) $codes_group_id ) {
			return 5;
		return $max_usage; // change to any number

With that snippet in place, you can unlock additional redemptions that would otherwise be allowed for the batch. We even change the output in the UI to make overrides and override values more obvious:


That’s it for new features in the Uncanny Codes 4.1 release, though there are also a few fixes and improved PHP 8.1 compatibility.

What’s new with Uncanny Groups

The Uncanny Owl team has been hard at work adding some interesting new features to our popular Uncanny Groups plugin over the last few weeks. Given the scope of some of the changes, we want to walk users through and them outline how to use the new options.

Group-specific welcome emails

We’ve had feedback from some of our users that global emails to welcome users to groups just aren’t sufficient. Different groups may have different instructions and expectations, maybe an introduction by an instructor is warranted, perhaps it’s just different branding that’s important. Whatever the case, we have tried to address this gap by adding group-specific welcome emails.

Now, when you edit groups, you’ll see a new section that looks like this on the edit group page in the Group page tab:

Group-specific emails for LearnDash

It works just the way other welcome emails work on the Uncanny Groups > Settings page; the same tokens are also available. To use this new feature for specific groups:

  1. Check the Override “Add and invite (new user)” email checkbox. This tells our plugin to use this email template instead of the global one.
  2. Populate the Subject and Body areas with appropriate content.

Now, when new students are added to this group, they’ll receive the contents of this email rather than the global one.

If this section is not set up for any groups, we’ll just defer to the global email template.

Group Leaders can send emails based on current course status

This is a big change that will affect your Group Leaders if you have granted access to send emails to students.

As a quick refresher, on the Group Management page you can add the group_email_button=”show” to your [uo_groups] shortcode (or to the Gutenberg block) to expose a tool that Group Leaders can use to send emails to students. Up until Uncanny Groups 4.4, this email option let you target students by group progress (e.g. no group courses started, all group courses complete, group courses started but not complete) and send them emails. This was typically used to remind students that they needed to complete their assigned activities.

What it lacked was a way to target specific courses only, like maybe a Group Leader only wanted to send reminders if users hadn’t finished any of 3 specific courses. Or maybe a Group Leader wanted to send a congratulations message to anyone who completed a specific course early. To address these other scenarios, here’s how the email tool has been changed:


LearnDash Group Leader Email Tool

Note the new Group Courses section. With it, you can choose 1 course, several courses, or the “Any course” option. This allows much better targeting of email recipients, but it is certainly a change to what Group Leaders are used to.

There’s one other change here too: If there are multiple Group Leaders in a group, you can change the reply-to address. The Sender email always has to be the admin email address, since it should be linked to the site domain and will therefore improve email deliverability, but the reply-to address can be for the Group Leader of the sender’s choice.

Required first and last names

While first and last names were always required when Group Leaders added individual students to a group, the tool for bulk adding multiple students had those fields as optional. In today’s update, there’s a new attribute for the [uo_groups] shortcode (and an option for the associated block): first_last_name_required=”yes”. By adding that to the Uncanny Group Management page shortcode, the First and Last Name fields in the bulk add & invite users tool adds * next to the associated column headings (to indicate those fields are mandatory) and values must be in those fields to add the users to the group.

This change was suggested by Chris Hodgson at Discover Elearning to ensure that all users added to groups would have valid first and last names populated on the LearnDash certificates.

Tighter Uncanny Automator integration

If you’re not yet using Uncanny Automator, we have added a 1-click installer that installs and activates Automator with 1 click. Certainly Automator isn’t required, but given how much we keep adding to it for LearnDash groups, it has become an increasingly compelling option.

Here are just a few of the Groups-related improvements we have added to Automator in the last week:

  • Run actions based on whether or not someone is a member of a group or its child groups (e.g. only send a certificate to a user that’s part of the Uncanny Owl group hierarchy, including users in the Dev Team group under the Uncanny Owl group parent)
  • Remove a user from all LearnDash groups in a single action/recipe
  • Remove the user as a leader of a group (perhaps a site sells Group Leader access to groups on a subscription basis, and when a subscription is cancelled or payment fails, there needs to be a way to remove Group Leaders from the group automatically)

If that first example doesn’t sound possible, it might be because we only added integration-specific conditions to Automator Pro in May. With that support, now you can choose to only run actions if users:

  • Completed a specific LearnDash course
  • Enrolled in a specific LearnDash course
  • Are members of a LearnDash group
  • Are not in a specific LearnDash group
  • Are members of a group or its child groups
  • Are not members of a group or its child groups
  • Have not completed a specific LearnDash course

LearnDash condition

And the rest

It’s been some time since our last big update, so the Uncanny Groups 4.4 release has a lot of improvements behind the scenes, including:

  • The “Group Product Swap” tool now supports Subscription product types as well as Group License products
  • Easier filter options to hook in and override column headings in the Group Course report (we’ll try to put together a blog post explaining how easy it is to add extra columns, like a certificate expiry date)
  • Improved WPML compatibility (including submission to WPML for certification)
  • Improved PHP 8.1 compatibility

Full details are available in the changelog.


Add Seats to Group Subscription, Excel Reports and More

This is the Uncanny Groups for LearnDash update that many of our customers have been eagerly anticipating. After months of development, we’re excited to introduce a feature unique to our plugin that will completely transform B2B group subscriptions for LearnDash: support for adding seats to existing subscription-based groups.

We wrestled with the logic for months. How would someone manage multiple subscriptions linked to a single group? What if one of several subscriptions was cancelled? Could we minimize the confusion of having multiple subscriptions for individual groups? And would all of this be easy enough for end users to understand?

In terms of the visible changes to Group Leaders and admins, it’s all very straightforward. Administrators see a new section under Uncanny Groups > Settings to enable the option (we don’t want it to appear with no context for existing sites) and to set up a link so users can learn more about adding seats to subscriptions. We do recommend setting a page up with more details because the behaviour will be different depending on your settings around synchronization in WooCommerce Subscriptions.

WooCommerce Subscription Changes for Uncanny Groups

And for Group Leaders, the Group Management page gets a new Add Seats button just like the one they’re probably used to seeing for groups purchased via one-time payment.

It’s a powerful new module, but to make this work and to deliver what we think balances the user experience with technical restrictions, there are some tips to keep in mind as you use this new feature. Here are a few key points to consider:

  • Completing an order with additional seats for an existing group will create a new subscription in addition to the existing subscription. We strongly recommend enabling “Synchronise renewals” under WooCommerce > Settings > Subscriptions > Synchronization to align renewal dates across multiple subscriptions. This will avoid situations where customers are flooded with renewals on different days each month.
  • We modified subscription behaviour so that if 1 subscription associated with a group is cancelled, all subscriptions for that group are cancelled. We do warn Group Leaders about this at the time of cancellation, and it’s because there is no safe way to keep some seats active and not others. If a group with 20 students and 20 seats has a subscription for 4 seats cancelled, which 4 students would lose their seats? There’s no way to address this that would be intuitive to Group Leaders, so we cancel all subscriptions for the group. Similarly, when a subscription is reactivated for a group, we create a new, single subscription for the group that matches the number of seats required for the group.
  • The option to add seats to subscription-based groups is a global setting; it cannot be enabled and disabled for certain groups only.
  • It is not possible to add courses to subscription-based groups. That’s a different and more significant level of complexity that we may or may not be able to support in future.
  • The new functionality works with existing subscription-based groups, not only new groups.

As this new feature is a huge change, we suggest testing it on a group before rolling it out and announcing it to all of your Group Leaders.

It’s a big release

We could have definitely made the Uncanny Groups 4.3 release a 5.0 update instead of 4.3, but we’re trying to keep numbering aligned with our other plugins. The new functionality for group-based subscriptions is amazing, but there are some other huge additions to this release.

  1. New report exports. Many of the reports in Uncanny Groups previously had CSV export options. But why some and not others, and why CSV only? We conceded and added about 10 new export options to reports in Uncanny Groups. Please note that because these are new exports and new options, most are not shown by default and must be enabled using shortcode attributes. More information for each report is available in our Knowledge Base.
  2. New columns in the Course report. It’s now possible to show the course enrollment date and group name in the Course report. These optional columns are invaluable with exports in particular, since group name is shown on the report inside WordPress but the export was missing the additional context.
  3. Choose score type in the Quiz report. Would you rather show points in the quiz report instead of percentages? Now you can, thanks to the new “score-type” attribute. Use score-type=”percent” to show a percentage (the default) and score-type=”points” to show points instead.
  4. Automator set count updates. The new version supports updating the seat count for a group when seats are removed via an Uncanny Automator action.
  5. Group subscription cancellation date is now deferred until a subscription becomes cancelled, not just when it is pending cancellation. What this means is that users who cancel a subscription don’t lose the access they paid for immediately, instead the group access is only removed on the subscription end date.

For a full list of updates and changes, make sure to check out the Uncanny Groups changelog.

Q1 2022 Plugin Updates

Our blog has been quiet this quarter, but that’s mostly because we’ve been so busy with updates. And just how busy have we been in Q1? Here’s a summary of our plugin releases:

In total, that’s a whopping 25 releases this quarter. Many have been pretty big releases too, so in case you missed the updates, we’ll cover some of the most exciting highlights below.

Uncanny Toolkit Pro

Our most popular add-on for LearnDash, Toolkit Pro gained a number of new additions.

There’s a new module for Autocomplete Lessons and Topics on WPForms submission. We had it for Gravity Forms, now we’re extending support to WPForms as well. This is one of our more popular modules and a great way to require users to submit evaluation and feedback forms before course completion.

The Simple Course Timer added 4 new shortcodes. Instead of only outputting time at the course level, now there’s a way to show time spent on topics, lessons and quizzes. And there’s an additional shortcode to show total time a user has spent across all courses on a LearnDash site.

The Group Expiration module adds support for a new pre-text=”” attribute for the [uo_group_expiration_date] shortcode. What this allows is for sites to show a text string before the expiration date, so instead of just showing the date, now it’s easy to add context to what it is.

Finally, the Enhanced LearnDash CSV Reports gain support for new CEU and Course Meta columns. Yes, this one is really exciting. Beyond supporting additional records from our Uncanny Continuing Education Units plugin, this means you can pull in course attributes as new columns. So if you ‘re storing data against courses like instructor name, course identifier, semester, credit value, number of LearnDash steps, or really anything else, now you can include that information in the CSV export with all other records.

Course Meta CSV Report

Tin Canny

This announcement is going to surprise a lot of people: There is now a tool for administrators and group leaders to analyze quiz questions to assess performance and quality. We call it the LearnDash Quiz Question Analysis Report. Yes, it’s for multiple choice (“single choice”) question types only, and yes, it’s intended for text-based questions and answers. Still, for the majority of sites, that’s more than sufficient and it finally provides a way to see, at a glance, how users are answering quiz questions.

This is what it looks like:

LearnDash Quiz Question Analysis Report

In case it’s not clear, the report outputs every supported question in a quiz, the correct answer, the distractors, and the percentage of students that chose each possible answer. It supports search, sorting, and CSV export. For Group Leaders, as you might expect, the quiz list only incudes quizzes associated with courses in the user’s groups and it outputs data for students in those groups.

There’s no extra cost for this report, it’s available now for Tin Canny users.

Other Tin Canny updates this quarter were more subdued. There’s a new shortcode parameter to launch uploaded modules to a specific slide, uploaded modules now support defined vw and vh values for better layout control, the group quiz report supports negative scores, and more.

Uncanny Groups

Updates this quarter for Uncanny Groups mostly focused on new developer tools and refinements to existing capabilities. There are 10 new filters, there was an overhaul to how user search works for the Manage Progress report and multiple improvements behind the scenes.

And did we mention that support for adding more seats to subscription-based groups is finally coming in early April? It’s almost ready…

Uncanny Automator

Our Uncanny Automator plugins are, of course, where the big magic happened this quarter. And while it’s not directly LearnDash related, everything we keep adding to those plugins extends what you can do with LearnDash and opens up countless new use cases for LearnDash sites.

Let’s start with the highlights in the free version, and remember, all of these additions happened in Q1:

And our Pro version gained lots of new features too:

  • A new integration for OptinMonster.
  • 16 new triggers and actions, including several for LearnDash, like triggering recipes when a user’s access to a course expires and being able to remove students and a Group Leader from a group and all of its children.

And that’s what we’ve been up to this quarter. And through all of that heavy development work, our support team still managed to achieve a “happiness” score of 93 in Q1!

Plugin Update Roundup

Today we pushed updates to 3 of our plugins (Uncanny Groups, Toolkit Pro and Tin Canny) and a fourth plugin update is coming tomorrow. While most of the changes are small fixes and improvements, there are some larger enhancements that deserve a bit more attention.

Uncanny Toolkit Pro for LearnDash

Perhaps the most interesting update is that the plugin, and specifically the Import Users module, no long requires LearnDash. This was done primarily to allow Uncanny Automator users to run imports that trigger actions as part of our new support for running actions on users in bulk. The Toolkit itself isn’t moving away from LearnDash, but this will be a big win for Automator users that aren’t necessarily using LearnDash.

The Enhanced CSV Reports module doubles the number of custom usermeta columns to 10. You can now run some very big reports with this tool with a lot of custom user profile data.

The Enhanced Course Grid module has the most changes, including all of the following:

  • There’s a new “hide_title” attribute to turn off course titles in the grid.
  • Multiple categories can now be defined for inclusion in the shortcode or block, separated by commas
  • There are 7 new action hooks, including the following: uo_course_after_short_description, uo_course_before_short_description, uo_course_before_course_title, uo_course_after_course_title, uo_course_after_featured_image, uo_course_after_grid_ribbon_price, and uo_course_after_grid_ribbon_text.

Overall, these changes add significantly more flexibility to what’s an already very flexible model for outputting course objects in a grid.

Uncanny Groups

The big new feature in today’s Uncanny Groups release is support for switching products in someone’s cart based on quantity. Why is this important? In the current model, when a user buys a group product, it always creates a group and adds them as a Group Leader. This is true even if a user buys a single seat for the group. What this means is that there must be 2 workflows for course purchase, one for a group, one for personal use by a user. A site might then have a “Buy for myself” button as well as a “Buy for a group” button on a course, since they are different products. Having to make this decision is an extra step though, and buyers are often confused by it.

The new option to swap products allows sites to present a single product to prospective buyers without having to choose whether it’s for a group or themselves. Instead, if the quantity is 1, the system (optionally) assumes the purchase is for themselves and can swap in a Course or other product. If the quantity is greater than 1, the Group License product is used. When a quantity is selected and the product added to the cart, the swap (if the quantity is 1) is automatic.

Here’s what it looks like when editing a group product:

Swap LearnDash group product

For developers, the Uncanny Groups 4.2 release adds 2 new actions: ulgm_before_license_group_is_inserted and ulgm_after_license_group_is_inserted.

There are also 3 new filters: ulgm_license_group_linked_course_id, ulgm_license_group_courses_linked_in_order and ulgm_include_user_direct_enrolled_courses (the latter for the Group Progress report).

Other Improvements

The Tin Canny release adds new support for negative scores in the individual quiz report as well as support for SCORM module uploads that may be missing requirement elements, like a title.

Across all plugin releases, there are also various compatibility fixes for LearnDash 3.6, PHP 8 and WPML. Yes, while our plugins have been translation friendly for years, we are starting to also add explicit WPML support where compatibility issues are reported.

How to Do More With LearnDash Achievements

LearnDash is one of the most popular LMS (Learning Management System) plugins in the WordPress industry. You can create and sell courses, award certificates, create quizzes, and much more using this powerful plugin.

LearnDash offers a number of free and premium addons to enhance the functionality of your eLearning site. One such addon is LearnDash Achievements. It is a free plugin for LearnDash customers used for creating and displaying achievement banners on your eLearning site.

In this article, we’ll introduce you to the LearnDash Achievements addon, discuss things you can do using this addon, and show how you can do more with the addon by connecting it to popular WordPress plugins. Let’s dive in.

Introducing LearnDash Achievements Addon

LearnDash introduced the Achievements addon to add gamification features to your eLearning site. You can increase the engagement level of your students by awarding badges or points using this addon. It will also help you to improve the learning experience of your students.

The Achievements addon offers a number of LearnDash course-specific triggers to choose from. Whenever a particular condition is triggered, the addon will automatically award points and/or a badge to the user.

For example, you can award and show a specific achievement for completing a lesson or course. You can also display achievements for passing a quiz. You can even show an achievement banner when a student’s assignment is approved.

The addon also supports triggers for non-course activities like reading an article, commenting on an article, user registration, and more.

The LearnDash Achievements addon is available for free. You can install and activate the addon by visiting the LearnDash Addons page on your WordPress admin panel (of course, you need a valid license of LearnDash to use the addon).

How to Create Achievements Using the Achievements Addon

It’s time to show you how you can easily create an achievement using this addon. We’ll be creating an achievement for enrolling in a course.

First, you need to head over to LearnDash -> Achievements from the left sidebar of your WordPress admin panel. This will take you to the Achievements page where you’ll see 3 tabs: Achievements, Settings, and Shortcodes.


The Achievements tab is the place where the admin can see and manage all the achievements. Let’s create a new achievement by clicking on the Add New Achievement button.

add new achievements

A new page will open up now with a number of fields.

In the Add title field, you should add the achievement name that’ll be displayed to the user. You can also add some text to the Message field.

The Details section is the most important part of any achievement.

The Trigger field controls when you want to award or display the achievement to the user. Go ahead to select User enrolls into a course (LearnDash) from the dropdown.

This will open up some new fields.

First, you need to select a course from the Course dropdown. Whenever someone completes that course, the achievement will be displayed to the user. You can also select All Courses to trigger the condition on completion of all the available courses.

configure details box

Want to award points to the user? You can do that by configuring the Points field. And you can add any numeric value of your choice to that field.

Note that the achievement points are useful for displaying leaderboards. Also, you can allow users to buy a particular course using these achievement points (you need to enable the option in the course settings).

Next, you can add an achievement image from the Image box. You can select a pre-built image by clicking on the Select Image link.

select achievements image

Finally, you should click on Publish to make your achievement live.


Want to change the look of the achievement banner? Maybe, you want to match it with your brand colors. Just visit the Settings tab to change the background color, text color, and even the time after which the banner fades away.

achievements banner settings


The LearnDash Achievements addon offers some shortcodes to display the user achievements:

  • [ld_achievements_leaderboard] – It’ll display the list of users along with their points. For example, [ld_achievements_leaderboard=”10”] will display the top 10 users based on their points earned.
  • [ld_my_achievements] – This shortcode can display all the achievements earned by a user.

The Achievements addon also offers 2 Gutenberg blocks for displaying the individual achievements and the achievement leaderboard.

Do More With LearnDash Achievements Addon

The Achievements addon is a great addition to the LearnDash plugin. The addon makes it easy to create multiple achievements for different activities on your eLearning site.

Presently, the Achievements addon offers limited course and non-course triggers only. Want to do more with the addon? You can use the Uncanny Automator plugin and the Achievements addon together to take your gamification strategy to the next level.

In case you aren’t familiar with it, Uncanny Automator is a powerful automation plugin for WordPress. You can use it to connect WordPress plugins, WordPress sites, and third-party web apps together.

You can use the Automator plugin to collect achievements across all the plugins and tools you use, not just LearnDash. Not only that, but you can also connect our LearnDash plugins to the Achievements addon using the Automator plugin.

By connecting Uncanny Automator and LearnDash Achievements together, you can award badges and points to otherwise unsupported achievements, including the following:

The above examples are just some ideas – you can connect the Achievements addon to 75+ WordPress plugins and web apps and create unlimited achievements for your users. That means the simple Achievements addon could replace the need for additional gamification tools, all at no extra cost beyond the LearnDash license.

How to Integrate the Achievements Addon With Uncanny Automator

Let’s briefly show you how to use the Uncanny Automator plugin and the Achievements addon together with the help of an example – award an achievement to a user automatically for submitting a course evaluation form.

We’ll be using WPForms as the form plugin in our example. However, Uncanny Automator supports a wide range of form plugins like Contact Form 7, Gravity Forms, Fluent Forms, Ninja Forms, Formidable Forms, and more. So you can use any form plugin of your choice – the process will remain the same.

Whenever you need to automate a task using the Uncanny Automator plugin, you’ll have to create a recipe. And every recipe needs at least one trigger and one action. In our case, the trigger will be a user submitting a form and the action will be awarding an achievement to the user.

To create a new recipe, you need to head over to Automator -> Add new from the left sidebar of your WordPress dashboard (we’re assuming that you’ve already installed the Automator plugin). Next, you should select Logged-in users as the recipe type and then click on Confirm.

select recipe type logged-in users

After that, you need to add a recipe title to the Add title box for future reference.

Setting Up the Trigger

The next step is to configure the trigger for our recipe. To get started, you should select WPForms from the list of available integrations.

choose wpforms as trigger integration

Next, you need to select A user submits a form as the trigger option.

select trigger option

Selecting that option will open up the Form field. Just select the course evaluation form from the dropdown and then click on Save.

select course evaluation form

You’ve successfully configured the trigger. Let’s set up the action in the next step.

Setting Up the Action

To configure the action, you need to first click on the Add action button. Next, you’ll have to choose LearnDash under Select an integration (the Achievements addon is part of the LearnDash integration in Uncanny Automator).

select learndash as the action integration

You’ll see a list of options now. Just find and click on the option Award an achievement to a user.

select action option

This will open the Achievements dropdown field. Here you need to select the achievement you want to award to the user for submitting the course evaluation form.

select achievement from dropdown

Finally, you need to click on the Save button to make your action live.

Publish the Recipe

It’s time to publish our recipe. To do that, you need to change the toggle option in the Recipe box from Draft to Live.

wpforms to learndash achievements recipe

Your recipe is live now. That means, whenever someone submits the course evaluation form, you can automatically award an achievement to that user.


The LearnDash Achievements addon is a powerful tool for adding game-like elements to your eLearning site. You can even use it with the Uncanny Automator plugin to connect it to 75+ WordPress plugins and web apps. And you can use the recipe example in this article as a reference to create multiple achievements for your eLearning site.

The best part is you can add multiple triggers and actions to any recipe to create complex workflows using the Uncanny Automator plugin. For example, you can add actions like getting a notification on Slack or adding the user to a mailing list to the above recipe.

Have any questions on how to use Uncanny Automator and LearnDash Achievements addon together? Please feel free to comment below.

Expanded SCORM and xAPI/Tin Can support for LearnDash

At long last, the Tin Canny 4.0 release is now available! And it includes one major new feature that will transform what’s possible for small businesses running LearnDash sites: full SCORM and xAPI support.

Back when we originally launched Tin Canny it was an easy way for LearnDash sites to upload their modules from popular elearning tools like Articulate Storyline, Adobe Captivate and iSpring. Over the years we added support for Lectora, Quizmaker, H5P, Presenter, Rise… but all of that support was explicitly defined and we couldn’t offer fully SCORM or xAPI compliant solutions.

Tin Canny Uploader

Introducing full SCORM and xAPI/Tin Can support

The 4.0 release should work with any standards-compliant SCORM 1.2, 2004 and xAPI / Tin Can file. It took us close to a year to get there, but the effort was absolutely worth it. Now we can stop saying “no” to people every time we get requests to add support for a custom authoring tool or something third party that we don’t support. Better yet, there’s no longer a need to ask! With this update, he’s a partial list of authoring tools we will be supporting with Tin Canny:

  • Camtasia
  • Elucidat
  • Adapt
  • Easygenerator

Of course, there are hundreds of authoring tools in the market and we have only been able to test a small number of them, but if you were part of our testing group and provided file samples (thanks to those of you who did, especially Dennis Hall!), we can confirm that Tin Canny 4.0 works well with all of those files. And, going forward, we will offer support for any SCORM and xAPI files, as long as they are standards compliant.

The rest of the 4.0 release is far less exciting (and how could it not be?).

Course and User reports will have improved performance on large sites and can now take advantage of object caching if it’s available. For some sites this will mean a huge performance difference ( note that cached results are only refreshed every 5 minutes), but unless you have at least several thousand users, the changes might not be as apparent.

There’s better translation support, LearnDash quizzes that were NOT linked to courses (it’s rare but does come up) are now shown in the front end quiz reports, and Tin Canny users not using SCORM and xAPI features will find fewer confusing references to those options. The rest of the changes can be reviewed at

Uncanny Groups 4.0: Dozens of enhancements

The Uncanny Groups for LearnDash 4.0 release has been in development for months and focuses heavily on reliability and marginal improvements. And there are a lot of those; this release includes almost 50 plugin enhancements and fixes. Let’s jump right into some of what’s new:

More form support

Use Gravity Forms, WPForms or Formidable Forms? Now you can add enrollment key redemption fields from the form editor so you can link any form in those plugins to key redemption in Uncanny Groups.

Uncanny Enrollment Key in WP Forms

New edit group page options

Ever wish administrators could see invited users? That’s in, so is the ability to see orders and products associated with groups that were created from a purchase. You can even unlink a group from an order if you no longer want users to be able to add courses or seats to a group via purchase.

Edit Uncanny Groups page changes

New group list page options

We modified the group listing under LearnDash LMS > Groups to show seat counts and to make enrollment keys downloadable by admins. Both of these changes will make it a lot easier for administrators to get data they need without drilling down into a group or switching to the front end Group Management page.

Shortcode support in email templates

Email templates now allow shortcodes to be used in emails to users. One interesting use case, and the reason for us building it, was someone wanting to use the group logo shortcode from Toolkit Pro to brand emails to group members with the group logo.

New system status tools

Start with the Uncanny Automator 3.0 release, we’re adding a Status page to our plugins to provide useful troubleshooting information and database repair tools. Uncanny Groups 4.0 is the first of our LearnDash add-ons to support it. Look for the new Uncanny Groups > System status menu.

Bulk discounts for WooCommerce Subscriptions

We had a few requests for users wanting to use our Bulk Discount system for subscription purchases as well as one-time purchases. That’s now fully supported.

New seat management system

The changes are largely behind the scenes, but the entire seat and key management system was rebuilt to ensure that it remains reliable, even with some edge cases that could cause sync issues in the past. While it sounds small, this change represents dozens of hours of work and should negate the need for the Reconcile seat count button for upgraded groups.

New license system

The 4.0 release includes a new system to track expired plugins that we’ll be adding to our other plugins shortly. Currently, it’s not obvious on user sites when license keys have expired and we get a lot of tickets from confused users about why they can’t update. Now, directly on sites, we can show how many activations a license key has, whether or not it’s valid and when it expires.

Other fixes and enhancements

The above is already a huge list of improvements, but here are a handful of other changes in 4.0:

  • New developer filters for the quiz reports to make overrides easier
  • Password complexity was reduced for automatically generated passwords
  • Better Divi, LearnDash Notifications and WPML compatibility

For the full list of changes in Uncanny Groups 4.0, make sure to check

Two Factor Authentication for LearnDash Login Forms

Version 3.5 of the Uncanny Toolkit for LearnDash was released today with one very important addition: new support for Two Factor Authentication (2FA). We have had a number of requests to improve security options for our login module and we’re pleased to now support a direction integration with WP 2FA, a popular two-factor authentication plugin for WordPress.

Easy 2FA for WordPress sites

What this new integration means is that it’s easier than ever to integrate the flexible, clean login forms in the Uncanny Toolkit with the additional security of the WP 2FA plugin. It’s the best of both worlds. Using both plugins together, you can now:

  • Require some or all users to authenticate with 2FA (including setting rules by role)
  • Allow users to add a secondary login check using an email or supported 2FA app

Beyond the additional account security, LearnDash site owners may appreciate that this additional security measure makes it much harder for users to share WordPress accounts.

Here’s what the login process looks like for end users when they try to sign in:

Two Factor Authentication code verification for WordPress

The use of two-factor authentication is of course completely optional, but we’ve made it as easy as possible to install the WP 2FA plugin should you want to enable it. From the Front End Login module settings page in Uncanny Toolkit > Modules, there’s a 1-click install option at the very bottom of the settings. Once installed, the Front End Login module will confirm it’s active and add an easy link to set up 2FA settings.


2FA for WordPress

Please note that this is an integration only, meaning we have added easy plugin installation, configuration and style for the 2FA plugin, but the 2FA behaviours, text and other settings remain with the other plugin.

Other changes in Uncanny Toolkit 3.5

In anticipation of the upcoming Uncanny Automator 3.0 release, we have made it easier than ever to add Automator recipes from the Toolkit. Users can get started with a new one-click install process so you don’t even have to leave your Toolkit settings.

This release also includes a number of updates related to LearnDash 3.4.x changes. We have seen a lot of changes in LearnDash over the last 2 months related to LearnDash 3.4 fixes, and a handful of recent changes have caused issues that require updates on our side. For this reason, the Uncanny Toolkit 3.5 release is highly recommend for all users of LearnDash 3.4.0 and above, especially if you use our Topics Autocomplete Lessons module.

Uncanny Codes 4.0 for WordPress

Our Codes plugin for WordPress has gone through many iterations since we first launched it in 2016. It started off as a simple code redemption tool to unlock LearnDash course and group access. Then we linked codes to registration and purchase, added expiry dates, allowed custom codes, then built in advanced code generation and redemption rules. Despite being a very capable and scalable plugin, it was never particularly popular and was limited to LearnDash use.

With the release of Uncanny Codes 4.0, however, everything changes.

Introducing Uncanny Codes 4.0

For about a year, the Uncanny team has wrestled with 2 big questions about our Codes plugin:

  • How far could the plugin go if we supported more than LearnDash alone?
  • What if instead of building integrations for other plugins we just linked it to Uncanny Automator?

Uncanny Codes 4.0 will answer those questions, because the plugin no longer requires LearnDash and we have linked the redemption of codes and code batches to Automator recipes. (For anyone not familiar with Uncanny Automator, it’s a plugin that connects lots and lots of things together. When something happens somewhere, Automator can make something else happen, like the redemption of a code adding a user to a membership level.)

Let’s review some of the biggest new features in Uncanny Codes 4.0.

Seamless Uncanny Automator integration

This is what makes our codes plugin better than anything else on the market. When users redeem codes, we can make almost anything happen, and we really mean that. Adding just the free version of Uncanny Automator lets you connect code redemption to dozens of popular plugins with 100+ actions as well as thousands of apps with Zapier and webhook support (yes, all in the free version of Automator).

Codes for WordPress trigger

Here are just a few examples of what you can do with code redemption and the free version of Automator:

If you think that’s impressive, what’s possible when you add an Automator Pro license is mind-blowing. Keep in mind too that a single code redemption can do multiple things, so you could add a user to 3 courses, add a CRM tag and add the user to a social group.  Try doing that with any other plugin!

Actions for WordPress code redemption

Sell Codes for WordPress

One frustration we know users of Uncanny Codes have had for some time is how to handle distribution of codes. Once generated, getting codes in the hands of teachers, partners, affiliates and other clients has been a manual process. With 4.0, you can sell codes using WooCommerce.

Sell codes with WooCommerce


Let’s review what this means in practice. You, as a site administrator, generate 10,000 codes and define exactly what they will do. Then you can create a WooCommerce “Codes” product, and whenever someone buys a certain quantity, they receive that number of codes from the batch. They can even track whether or not they’ve been used. So say, for example, you create those 10,000 codes that you want to unlock access to 3 courses and a special membership level. A client organization then buys 100 of them. They receive an email with a CSV file of those codes (as well as a list in plain text) that they can distribute to their staff, so now they have an easy way to get 100 people access to those courses and membership. Another way to look at it might be as a way to sell 100 gift cards that are way easier to redeem (and far more flexible) than 100% off coupon codes.

More Form plugin support

Earlier versions of Uncanny Codes supported Gravity Forms only as a way to redeem codes during registration. But why limit code redemption to registration, and why just Gravity Forms? Codes 4.0 adds new support for WPForms and Formidable Forms, both fantastic plugins. This will open up many new redemption opportunities, and you can tie any form submission to code redemption. Only want to allow users to register on your site with a valid code? No problem. Just want a simple redemption form for signed in users? That’s easy too.

Codes for Formidable Forms

We add new Uncanny Codes field types to the form plugins we integrate with. Just add the field to your forms, make the field mandatory (if it is), and Uncanny Codes will take care of the redemption process.

A new way to generate codes

With all the new support for different code types and Automator we needed a new interface to make generation more intuitive. This wizard approach to code generation makes the process less confusing and connects Automator code generation to recipe creation. It works really smoothly.

Generate codes for WordPress

Code batches now also have names. It makes them far easier to identify and the names were really essential to keep Automator recipes and code batches linked to products organized.

Let’s talk about Uncanny Automator Pro

You don’t need Uncanny Automator Pro to use Uncanny Codes, but it definitely makes it a far more full-featured codes solution. When those 2 plugins are paired, here are a few more examples of things that can be unlocked with codes:

  • Register the user in a Zoom meeting or webinar. Simply enter a code, no registration form, and the user will instantly get the confirmation from Zoom.
  • Add the user to a private mailing list in Mailchimp.
  • Add the user to a membership (MemberPress, Paid Memberships Pro).
  • Reset a user’s attempts for a quiz (LearnDash, LifterLMS).

Check code redemption status

We had valuable feedback from some customers that users that were issued codes had trouble identifying which codes had been used and which ones hadn’t. If you want users to be able to check the redemption status of a code (without redeeming it) in the front end, you can drop this shortcode in a page:

[uo_user_redeem_code check_only=”yes”]

The system will check the status of that code and return one of 4 values: Invalid code, Code redeemed, Code available or Code expired. Purchasers of codes also have a new option in their Orders page in WooCommerce to check available and redeemed codes, but this new shortcode will be useful for codes that are distributed manually and not sold.

Try Uncanny Codes

For existing users of Uncanny Codes, we highly recommend trying version 4.0 out on a Staging site before you update your live site.  Uncanny Codes 4.0 is 100% backwards compatible, but this is a huge release that changes a lot about code creation, editing and management, so we highly encourage testing things first and reviewing all the new articles in our Knowledge Base. A full list of changes is available here:

Uncanny Groups 3.10: Easier classroom management

There’s one thing in our Uncanny Groups plugin that I felt had been a gap for some time, not just in our plugin but in WordPress in general: Why do users always need a valid email address to set up an account?

The answer is straightforward, of course, it’s an identifier and allows users to reset their passwords independently. But in many K-12 classrooms, manufacturing and industrial environments, students simply don’t have email addresses. This makes using LearnDash and our plugins exceedingly difficult.

We did offer a workaround for CSV imports; files can include a password column and this password would be set for new users, allowing administrators and Group Leaders to create users that didn’t actually need an email address. With this approach, account info (email and password) could be set up and given to students directly so that setting up a password by email confirmation wasn’t needed. Privacy concerns aside, this at least offered a path for students without an email address to use LearnDash and our plugins.

CSV files are hard to work with though and outside the technical abilities of many Group Leaders. Enter Uncanny Groups for LearnDash 3.10.

Password field in Add Users

New in the 3.10 release is the ability for Group Leaders and Administrators to set passwords for new users when they add them. This applies to adding users individually and adding multiple users at once. It sounds simple, but giving teachers, managers and instructors an easy way to set new student passwords means that a valid student email address is no longer required.

Instead, Group Leaders can simply set up a fake email address (e.g. [email protected]) along with a password and the student associated with that account can now sign in and take courses.

Student passwords for LearnDash Groups

There are some caveats:

  • Once set, students and Group Leaders cannot change passwords (don’t forget to store a record of the password!)
  • Students without a valid email address cannot receive notifications or announcements
  • Passwords can only be set for new users; if a password is set for an existing user it will be ignored

And there’s a bonus (also a huge security risk, use this cautiously): the #Password token in the new user notification email will include the password set by the Group Leader if it’s in the email template.

Improved WooCommerce order autocompletion

We made a few changes here to make it easier for orders of Uncanny Group products (specifically Group License and Group Course) to be autocompleted. Here’s what we changed:

  • The “Virtual” and “Downloadable” checkboxes on the edit product page are no longer hidden. This makes it easier to override settings for exceptional cases. New Group License and Group Course products default to “Virtual” (not Downloadable).
  • There’s a new setting under Uncanny Groups > Settings for “Autocomplete Uncanny Groups orders”. If this is checked, our plugin will automatically set the order status of orders that include Uncanny Groups (and other virtual products if included) to “Completed”. In some cases a third party plugin was needed to autocomplete orders, so this new setting eliminates the need for a plugin override.

Autocomplete LearnDash group orders

Better links between groups and orders

This might be primarily for our team, but we thought other users would also benefit from an easier way to move between a LearnDash Group and the associated WooCommerce order (if the group was created by our plugin from a WooCommerce purchase). In version 3.10, it’s now easy to see the order associated with a group and vice versa using new links added to the edit order and edit group pages in /wp-admin/. These details, including the purchase history, will make it a lot easier to audit the current status of a group.Uncanny Groups WooCommerce Orders


Fixes and updates

Our plugins aren’t fully compatible with PHP 8.0 yet, but we’re getting there, and this release adds some important compatibility fixes.

We also experienced a very unfortunate (and surprising!) conflict with the Yoast SEO 15.8 update and buying groups from the Buy Courses/Groups page that’s fixed in this release.

Additional details about the release are in the Uncanny Groups changelog.

Tin Canny 3.6: Microlearning for LearnDash xAPI & SCORM courses

It’s time for a new Tin Canny update! Version 3.6 adds support for microlearning using Single Page LearnDash courses, more flexible user details in reports, new column sorting options, a more visible X icon for modules in a lightbox and more.

Single page xAPI & SCORM LearnDash courses

Today’s Tin Canny 3.6 release adds support for something LearnDash and Tin Canny users have been wanting for years: the ability to build standalone courses with Articulate Storyline, iSpring, H5P and other module types without having to use LearnDash lessons and topics.

What does that mean? Well, with most (non-WordPress) LMS platforms, you can upload self-contained zip files and that uploaded module becomes the entire course. A user sees the course name, launches that uploaded course in a new window or lightbox, and that’s it — no digging into lessons or topics first, it’s just the course. LearnDash, however, normally requires that courses be structured into a hierarchy of WordPress posts that requires at least one “lesson” beneath a course. The SCORM or xAPI file would then be uploaded inside the lesson or topic, so students would have to click through a “course” level first that sometimes served no purpose.

LearnDash Single Page Course

Tin Canny 3.6 adds support for our Single Page Courses module in Toolkit Pro, allowing uploaded SCORM and xAPI files right to the course level while still allowing proper LearnDash tracking. Support is available for these content types:

  • Articulate Storyline
  • Articulate Rise
  • Adobe Captivate
  • iSpring
  • H5P
  • Lectora Inspire

The use of Single Page Courses for microlearning does require that the Toolkit Pro for LearnDash plugin be installed, active, and the module turned on.

Customizable user details in reports

We’ve seen an increase in tickets with users not wanting to use our default “Display Name” record when we show student names in reports. Many sites would rather use first name and last name, perhaps even hide email address for privacy reasons. Tin Canny 3.6 allows site admins to choose which values and/or columns should be displayed in user listings of the Course and User reports with these settings:

User settings in Tin Canny reports

Sort all columns in the User report

Adding the optional “Sort by % Complete” setting to User reports some time ago led to requests for sorting on other columns, as it should. This is still a setting we suggest using with caution on large sites, as there is a slight performance hit on load, but if Enable Sorting by % Complete in Tin Canny settings that all columns in the User report will become sortable. Look for the arrow icons in column headers when accessing the User report to sort by column and show current sort settings.

Sort LearnDash user report columns

Other Tin Canny 3.6 changes

To round out this release, here are a handful of other highlights:

  1. The Gutenberg block for Tin Canny content has a new Module ID indicator. This makes it a lot easier to reconcile uploaded modules in LearnDash courses with uploaded modules on the Management Content page in /wp-admin/ (useful when deleting content that’s no longer required or replacing modules with newer versions). With our Classic Editor support this was always easy, as the shortcode included the ID, but now management is easy with Gutenberg too.
  2. We improved performance significantly in a recent update but on a very few number of sites (perhaps 2-3%) our old, slower method of tracking was preferred. There’s now a switch in the settings to use a compatibility mode if some Tin Canny uploads aren’t catching all statements when they’re closed.
  3. Error messages are now more descriptive if an error is encountered during a Tin Canny module upload.
  4. The Settings page has been completely reorganized.
  5. The X icon to close modules in a lightbox has been made more visible.

As always, the full changelog is available at

Toolkit Pro 3.7: Usermeta in reports, transcript changes and more

We try to avoid Friday releases where we can, but with the upcoming holiday weekend in Canada and some exciting changes from LearnDash, we couldn’t wait to get version 3.7 of the Uncanny Toolkit Pro plugin out. It’s a big release with several really compelling new features.

Group Drip notification changes

We do need to start the list of new features with a change that Group Drip users may need to make on their sites.

LearnDash is releasing version 1.5 of their Notifications plugin next week, which is a big overhaul and improvement. That’s great news, but because of how it was rearchitected, it does break compatibility with existing notifications linked to our Group Drip module. Any current notifications on sites set up to alert users when lessons are available to the group will stop working, but there is good news: we have a new trigger available to support Group Drip notifications.

If you upgrade to LearnDash Notifications 1.5 and want notifications to be sent to group members when lessons become available via group drip, you must create new notifications with this new trigger: “A scheduled lesson is available to user with Uncanny Drip by Group”. If you don’t use group drip notifications, no changes are necessary.

LearnDash Group Drip Lesson Notifications

Custom usermeta in LearnDash CSV reports

We keep adding more column options to LearnDash reports, and in today’s 3.7 release we’re adding up to 3 new columns that can output any user data you want. If you store custom fields for users in your system, like maybe a department, manager name, job title, whatever, now you can include columns with those records in LearnDash CSV reports using the Enhanced LearnDash CSV Reports module.

Here’s what it looks like:

Usermeta in LearnDash CSV reports

To add these extra columns you will need to know the key for the record in the usermeta table, but if you’re storing custom fields you probably know what keys to use. If you’re not sure, look at whatever is capturing that record (perhaps a form or checkout process) and see if it shows the usermeta key for the record you need.

Certificates in LearnDash Transcripts

We made some really interesting LearnDash Transcript module changes in this release, and before any current users panic, these new records are optional. We know you’ll want to use them, but they can be turned on and off.

First up is the addition of a Certificate column to the Transcript output. It does exactly what you expect; if the column is shown and the user has an associated course certificate, we show an icon with a link to the certificate. This is a really handy way for users to retrieve their certificates, including from courses in which they’re no longer enrolled but do have a completion record.

The Certificate column is automatically hidden from the print view, where it wouldn’t make sense.

LearnDash Certificates and CEUs in Transcript

Custom Credits in LearnDash Transcripts

We’ve been hard at work lately with amazing new features for our Continuing Education Credits plugin, and now that it’s easy to track custom credits, we wanted to make it easy for users to see their consolidated training records. In Toolkit Pro 3.7, we have added the ability to include custom learning credits in student transcript. If our Continuing Education Credits is installed and enabled, and a user has been awarded credits, we will now (optionally) add new rows for those records.

Please note that because records like scores and steps are not applicable for custom credit records, we output “n/a” in those columns for custom records.

Group expiration shortcode

We have offered the Expire LearnDash Group module for quite some time, but we always relied on email notifications to let users know when it was expiring. This made planning difficult for Group Leaders and members, so in today’s release we have added a new shortcode. Here are some examples of usage:

[uo_group_expiration_in] //Show countdown to expiry date if set and user is only part of 1 group
[uo_group_expiration_in group-id="xx"] //Shows countdown to expiry date if set and user is part of the associated group
[uo_group_expiration_in pre-text=""] //Override default "Group Access Expires in" text in shortcode output
[uo_group_expiration_in group-id="" pre-text=""] //Combine the above attributes

When the Expire Group module is enabled this shortcode is available automatically. The default text to include is set from the module settings:

Other changes

As always, all new features, updates and fixes are included in the changelog. Two notable additions are support for Single Page Course settings for non-admins (like Instructors in the Instructor Role plugin by Wisdm Labs) and outputting course-level quizzes in the Course Dashboard module.

Uncanny Groups for LearnDash 3.9 Update

The version 3.9 update of the Uncanny Groups for LearnDash plugin includes some interesting updates that may really transform how the tool is used by some customers. Given the magnitude of the changes, this is also one that we recommend testing on a Staging site first.

Let’s jump right in to what’s new in the release and how it might affect your site.

BuddyBoss Social Group sync

You asked, we listened. A lot of people use the BuddyBoss theme and platform with our Uncanny Groups plugin. BuddyBoss does include a sync tool for LearnDash groups, but it doesn’t work properly when users are added or removed from groups managed by our plugin. It also doesn’t sync LearnDash groups created with our plugin to new BuddyBoss groups.

BuddyBoss Groups Sync with LearnDash Groups

So, in the Uncanny Groups 3.9 release, here’s what’s new if LearnDash Group Sync and Auto Create Social Group settings are enabled in BuddyBoss > Integrations > LearnDash on a BuddyBoss site:

  1. When a LearnDash group is created by the Uncanny Groups plugin, an associated BuddyBoss social group is created.
  2. When a user is added to a group from the Group Management page in our plugin, the user is added to the associated BuddyBoss group. If the user is a student they are added as a “Member”. If the user is a Group Leader they are added as an “Organizer”. This works for adding single usersadding multiple users and adding users via CSV import.
  3. When users are removed from a group from the Group Management page, they are removed from the associated BuddyBoss social group.
  4. When users are added or removed by an administrator from the LearnDash edit group page, we sync the change to the associated BuddyBoss group.

If you use BuddyBoss groups, these changes are probably a very welcome surprise. All of these behaviours are automatic and based on the settings in BuddyBoss only; there are no settings to change in Uncanny Groups to add this support.

Support for semicolon delimited CSV files

For non-English users of our plugin, your Group Leaders can now export CSV files from Excel and have them work without having to change region settings or use something like Google Sheets. (For some regions and languages, Excel automatically exports CSV files with a semicolon delimiter instead of a comma, but previously our user import only support comma delimiters.)

Performance improvements for LearnDash Groups

One of our developers took his frustrations with LearnDash performance on sites with a lot of groups and turned it into a new performance tweak. By default, the list of groups in LearnDash LMS > Groups in /wp-admin/ shows a column that includes a count of the number of users, courses, and Group Leaders in a group. On sites with a lot of groups, these lookups can slow down load times to show groups a lot and the information isn’t always necessary. We ended up including the option to turn the column on or off if people don’t need it, and by doing that, sites with a lot of groups will see a big performance increase (with the compromise, of course, being that the data is no longer output in the group list).

Show legacy LearnDash group data

In recent versions of our plugin (including this one) we have improved the performance of Uncanny Groups reports and key generation. For ProPanel users, there were a handful of situations where data in our reports would not exactly match ProPanel; this was due to LearnDash storing progress and enrollment data in multiple locations in the database. This was usually corrected by running the Course and Course Access List upgrades from LearnDash LMS > Settings > Data Upgrades, but we wanted to provide an option for users to choose the slower (but from sources matching ProPanel) report generation option.

Legacy LearnDash course data

Uncanny Groups 3.9 updates and fixes

Details of all updates are of course in the full changelog, but we wanted to draw your attention to a few highlights that you might notice as you use the plugin:

  1. LearnDash recently changed how new assignments are named to make them more unique, but this in turn created formatting issues in our Assignments report since we listed the full file name. We have no changed file names to a View link instead.
  2. The list of courses on the Group Management page is now ordered alphabetically.
  3. Group keys are now deleted when a group is deleted, even if WooCommerce is not active (there were some scenarios where deleted groups might still have orphaned keys stored in the database).

Award historical credits for LearnDash courses

Our Uncanny Continuing Education Credits plugin has historically been our least popular plugin and not nearly as capable as some continuing education providers would like. Organizations in this space tend to have very specific requirements and outgrow general-purpose solutions quickly.

With the 2 most recent updates to the plugin, however, we have completely transformed what’s possible with our CEU product. The 3.1 release added the ability to track credits for anything, even learning activities that were not associated with LearnDash. And with our Uncanny Automator integration, we can simplify awarding credits even further, automating credit activity for live events, forum participation, purchases–if it can be captured online, Automator can almost certainly link it to credits in this plugin.

Capture historical completion records

There’s always been one big limitation in the Uncanny Continuing Education Credits plugin: it only starts tracking credits for new LearnDash course completions once it’s installed and credits are assigned to the course. For most sites, this meant a disconnect between users that completed courses before plugin installation and users that completed them after setup.

In today’s Uncanny Continuing Education Credits 3.2 release, we’re adding a very important new feature: the ability to generate credits for historical course completions. This means WordPress administrators can choose a LearnDash course, click a button, and have credits and completions tracked for users that completed courses before the course was assigned credits.

Generate Continuing Education Credits for LearnDash

Here’s how the new feature works:

  1. Edit a LearnDash course and make sure it has the credit value assigned that you want to award to students.
  2. Navigate to Uncanny CEUs > Generate CEUs in /wp-admin/.
  3. Choose a course from the drop-down list.
  4. Click the Add missing records button and credits will be added to student records.

There are a few important things to note when using this new tool:

  • Credits are only awarded for students that have a LearnDash completion record but no credits for that completion. It will not modify CEU values for existing users that already have credits assigned. In other words, if a course had a credit value of 2.0 assigned, a user completed the course and earned 2 credits, then you change the value to 3.0 and run the Generate CEUs function, the student will continue to have 2.0 earned credits, not 3.0.
  • Only courses with a credit value greater than 0 can be awarded credits. If you don’t see a course in the drop-down list, make sure it has credits assigned.
  • The batch generation of credits does not consider enrollment. This means that if the user has a historical completion but no credit, we will award credits even if the user no longer has access to the course.

We’re really excited to get this feature out and into the hands of our plugin users. We know that not having this feature limited the utility of this plugin, and between this update, full Uncanny Automator support and support for manually adding credits, the Uncanny Continuing Education 3.2 really is the most powerful continuing education product for WordPress.

Version 3.2 also adds some other important improvements and fixes. Check out the changelog for the full list.

Single Page LearnDash Courses now available

LearnDash course structures have always been very straightforward and rigid, which did limit flexibility but also made building courses more consistent. Courses must have lessons, and lessons can optionally have topics. The 3-level hierarchy evolved a bit when LearnDash added sections to organize things, but progress was always based around the completion of lessons and topics. For many users, this was good enough.

For years we heard from people that didn’t want to use lessons. Maybe they used micro-learning or all course content was self-contained in a single video; splitting the content up into lessons just didn’t make sense. We largely pushed back on such requests because they didn’t fit the “LearnDash model”, but after building a solution for a consulting client we started wondering what might be possible with a public plugin.

The Single Page Course module

In today’s Uncanny Toolkit Pro for LearnDash 3.6 release, we’re adding a brand new module that addresses this gap: the Single Page Course module. When enabled, it gives course creators the ability to create LearnDash courses that don’t have any lessons. It adds a Mark Complete button to the course level and enables course structures that are simply just that page.

Here’s how it works behind the scenes:

When an administrator flags that a LearnDash course is a “Single Page Course”, our module creates a hidden lesson that’s associated with the course. In the front end, we hide the lesson table and course navigation widget, and even exclude the lesson listing from our Course Dashboard shortcode, so students won’t even know it exists. Admins won’t either; it doesn’t show up as being associated with the course. It’s simply a hidden lesson for the course that allows us to use the normal LearnDash progress and completion controls from the course level.

LearnDash Single Page Course

If the “Single Page Course” flag is removed from a course, the hidden lesson gets removed and it can become a normal course. Note that existing courses with lessons cannot be turned into Single Page Courses unless the existing lessons are removed first.

The new module also includes an option to autocomplete the course when the page is visited by an enrolled user. If you associate a certificate with the course, remember that you will need to refresh the page to see the certificate (the completion happens and the certificate would get generated after the page load). Visitor and Student LearnDash shortcodes work as expected with the new module, as do all other behaviours you would normally expect for LearnDash course access.

Perhaps one of the more compelling uses of this module will be with Storyline, H5P, iSpring and Rise assets, so look for support from Tin Canny in an upcoming release. (We need to add support to the completion condition options in that plugin before they can work at the course level.)

Other updates in Toolkit Pro 3.6

We’re pleased to add support for Elearning Complete’s Certificate Tracker for LearnDash. Thanks Ryk and Patrick! This means that certificate data created by that plugin can now be included in certificates that Toolkit Pro sends by email.

Our Course Dashboard shortcode also gains support for LearnDash Sections. This allows easier organization of course content within the dashboard output.

The Autocomplete Lessons & Topics on Gravity Forms Submission, Simple Course Timer, Import Users and Group Forums with bbPress modules also get some fixes in this release; make sure to check out the changelog at for full details.

Front End Login Changes in Toolkit

We’re excited to announce that today’s Uncanny Toolkit for LearnDash release includes some pretty big Front End Login changes (and we wanted to beat the upcoming Toolkit Pro and Automator 2.10 that announcements that will steal the thunder!). The Front End Login module has gotten increasingly capable, to the point that we see people using it on WordPress sites even if they’re not using LearnDash. Today’s release adds even more reasons to use it for login on any WordPress site.

Changes to user verification

We added the ability to verify users before login was allowed a very long time ago, but the module never had a great way to manage email notifications when users were approved for access. With user verification enabled, site users would have to be approved by an administrator before they could sign in, but how would the admin control the user notification and content?

The Uncanny Toolkit 3.4.1 release adds a new customizable email system (see below) as well as an easy way to suppress user verification emails entirely. Emails can also now include tokens (variables) with information that might be useful to approved users, like site name and the user’s name. Front End Login User Verification Email Settings

Login redirect changes

Ever wish users could sign in using a modal and the page would just update for the user without redirecting the user somewhere else? It’s been a common request, so the new 3.4.1 release adds the ability to ignore other login redirect behaviours when the modal option for login is used.

In other words, maybe you have a dedicated login page on your site and you want users that sign in from that page to land on a student dashboard when they sign in. But maybe on a sales page for members you want them to sign in and stay on that page, only with the right content for the user once signed in. Now you can do that; here’s how:

Front End Login ignore login redirect

Still not enough flexibility for login behaviours? Now there’s a new filter that allows developers to make even more overrides; here’s what’s now included:

$login_form_args = apply_filters('uo_frontend_login_args', $login_form_args);

Other changes

The 3.4.1 release includes a few other changes for Front End Login and other modules.

We added the ability for other plugins to show error messages related to login in our Front End Login form. This came up as part of an investigation into why Peepso was blocking logins with our plugin that we traced to a password security parameter in its settings (which was throwing an error, we just weren’t outputting it).

The module also includes better support for /wp-login.php redirects. Previously, attempts to visit that page would be redirected to whatever was set as the login page using this module. While it worked without issue, our redirect dropped any querystring records from the URL when it redirected  users; now the full URLs are preserved.

Those are the Toolkit 3.4.1 highlights, but make sure to check out the changelog to get the full list of updates.

Award CEU credits for anything!

Today’s 3.1 release of the Uncanny Continuing Education Credits plugin is probably our biggest change to that plugin in the past year. It adds a number of changes based around this concept: credits can be awarded for anything.

Yes, it is still a LearnDash plugin and does still require LearnDash. Credits are no longer tied to LearnDash courses, however. Admins can now add and remove credits for anything they want—that might be a classroom training session, attending a virtual event, completing third-party training, etc. There are no limits to how this might be used.

Add and delete continuing education credits

Here’s what users will now see when adding credits from the Credits Report:

Uncanny Course Report: Add CEUs

From this page, you can choose a user to assign credits to, the number of credits, the date and time for the credits, and whether or not the credits are for a LearnDash course. If they are, you can choose to mark the course as completed when you assign the credits. If the credits are not for a LearnDash course, you can assign a label to the credits so they’re easy to identify in reports. (For LearnDash courses, the title is automatically the course name.)

Deleting credits is easy too, just selected credit entries in the report and click the Delete credits button.

Uncanny Automator integration

We added preliminary support for Uncanny Automator in the previous release of the Continuing Education Credits plugin, but with the new changes to support adding and removing credits the opportunities have really expanded. These 2 major changes, support for adding and removing any credit types plus Uncanny Automator integration, really move this plugin beyond LearnDash. Credits can now be triggered by submitting a form, earning a badge, making a donation, attending a live event, or really anything else at all that you can think of. And with Automator recipes, all of this happens automatically, no development or manual intervention is required.

Uncanny CEUs and Uncanny Automator

The screenshot above shows what this looks like in practice. Yes, this means you can award credits for anything in LearnDash too: passing a quiz, completing a lesson, submitting an assignment and more. Another interesting thing in the release is that the new custom credits, and credits awarded by Automat recipes, can trigger our multi-course and multi-credit certificates.

Other updates

This release probably gives you an  idea of where we’re headed with this plugin and all of the exciting things that will be possible. It’s also an important release because it fixes an issue with changes to LearnDash PDF generation and it improves compatibility with the latest WordPress versions. For those reasons, this update is strongly recommended for all users of our plugin.

Do you have some interesting use cases for how you’ll connect Automator recipes to continuing education credits? Let us know in the comments!

LearnDash 3.2 and Group Changes

The LearnDash LMS plugin for WordPress first introduced groups almost 7 years ago, back in version 1.4. Groups were a way to assign courses and track progress for a collection of students as a single unit. It also empowered a new type of user, called a Group Leader, to oversee the activity for that segment of users rather than for all students on a site.

As one of the most popular features in LearnDash, site owners started wanting more and more group capabilities. They extended group options with membership plugins, and developers like Uncanny Owl and Wisdm Labs built plugins specifically to add more features to LearnDash Groups.

The LearnDash 3.2 release is the most significant change to the groups model since LearnDash first added them in 2013. In this  article, we’ll examine what’s different and how it affects users of third party group and membership plugins.

Here are some of the high-level additions in 3.2 for LearnDash Groups:

  • Group purchases
  • Group hierarchies
  • Group certificates
  • Group pages
  • Group content protection
  • Group user management
  • Bypass course restrictions for Group Leaders
  • Course creation and management for Group Leaders
  • Group creation and management by Group Leaders
  • A new ld_group_list shortcode
  • Search restrictions based on course enrollment

LearnDash Group Leaders Manage Groups, Courses and Users

Group purchases

LearnDash 3.2 now supports selling access to groups, so that on purchase of a product/group, the purchaser is added to the associated group. LearnDash supports this natively as well as via their WooCommerce LearnDash integration plugin (version 1.8 or higher is required). This is a great feature that makes it easier for sites to offer a paid way for students to self-enroll into groups.

Along with this change, LearnDash Groups now adopt some some of the Access Mode options that you would normally associate with Groups. Three Group Access Modes are now supported:

  • Free (users with an account can add themselves to a group)
  • Buy Now (purchases enabled via LearnDash payments)
  • Recurring (purchases via LearnDash payments)
  • Closed (payment using an integration, third party plugin or admin intervention; “Closed” is what groups in previous versions would have been considered and is the default)

Uncanny Owl notes

While LearnDash now supports this in the core plugin, this capability has existed in third party plugins for several years. Our Uncanny Groups plugin supports it, Uncanny Automator supports it, and the Wisdm Labs Group Registration plugin supports it. The new LearnDash capability is also for selling group access to individual users; it doesn’t yet support sales to organizations (so that organizations can create groups and manage them in the front end). For that, a third party plugin (like Uncanny Groups) is still required.

Group hierarchies

One of our #1 requests for our Groups plugin has been to have it support group hierarchies. We held off because we preferred to see support for this come from LearnDash, and now that it’s here, we’re excited about the possibilities. What this feature does is allow users to optionally add child groups to parent groups. Users added to a parent group are automatically added to the child groups and get access to anything in the subgroup(s). On the opposite side, users can still be in child groups and then don’t inherit anything from parent groups.

LearnDash Group Hierarchy

Uncanny Owl notes

This has been a highly-requested feature, but the requests are usually for reporting roll-ups (so reports at the parent level include child group data) and pools of seats/licenses set at the parent level that can be allocated to subgroups. That’s not quite what this is, but we may still see movement in those directions (from both LearnDash and Uncanny Owl if we see interest for them; a way to enable these do at least exist in LearnDash now).

Group pages

In LearnDash 3.2, groups are now about more than just assigning course access and reporting, they also provide new opportunities to organize courses and offer group-specific content in the front end. By making group pages public and using a new shortcode that outputs a list of group pages a student has access to, it’s now easier than ever for elearning site owners to organize courses around groups and to deliver specific information and course content to members of a group.

LearnDash Group Pages

Uncanny Owl notes

It’s been possible for a long time to offer group-specific content to users based on CRM tag, membership level, and even group access. In our plugins we offer the Restrict Page Access module in Toolkit Pro to control access at the group level to specific pages/posts, and many other plugins offer similar tools. Where the new LearnDash capability makes things easier is by providing access to group pages themselves along with a shortcode that outputs links to those pages. With other tools, including ours, it wasn’t always clear how to make restricted access pages easy to find.

Group content protection

Beyond the new access restrictions for Group pages, LearnDash now supports restricting any page, post, or other post type based on a user’s membership in groups. Once this is enabled, each associated post type will have an option to restrict the post to members of specified groups only.

LearnDash Group Content Protection

Uncanny Owl notes

Post-level restrictions based on group are supported in the Restrict Page Access module in Toolkit Pro, but they can also done with other plugins like WP Fusion using tag-based restrictions linked to LearnDash Group. In the case of both of those, they add the ability to redirect users that don’t have access rather than just display messaging on the restricted page. Both WP Fusion and our Uncanny Groups plugin offer other group-based restrictions too, like shortcodes to restrict specific content on a page to certain groups.

LearnDash Restrict Page Access

Course creation

Starting with LearnDash 3.2, Group Leaders can now create and manage courses. Depending on settings, this can include the Group Leader’s own courses only or all courses on the site. Course creation works exactly as it does for admins, in the back end (i.e. /wp-admin/) and with the same available tools. Note that some third party tools normally only available to admins and other expected WordPress roles (and role capabilities) may not necessarily be available in editors.

Uncanny Owl notes

The Wisdm Labs Instructor Role plugin has historically served a similar purpose and continues to offer many advantages, like front end course creation and commission options for instructors. The new native features in LearnDash are likely to appeal to organizations where internal staff are creating courses, so they need a restricted role for course creation and management and are comfortable with course creation in the back end, whereas the Wisdm Labs plugin is likely to appeal more to sites where the course creators are third parties and may have less WordPress experience.

Group certificates

This new certificate type offers the option of awarding certificates for the completion of a group of courses. If all courses assigned to a group are completed by a student, a downloadable certificate is added to the group page for the user. It’s a nice way of being able to award specific certificates for completing a series of courses without having to set up workarounds like course prerequisites.

Uncanny Owl notes

Our Continuing Education Credits plugin has offered certificates based on the completion of a series of courses for several years. Where the LearnDash approach differs is with convenience and easy on-site retrieval of the certificates from the new group page. Our plugin also had the drawback of not recognizing completions of courses that were done before the plugin was installed. Toolkit Pro users: Yes, we do expect to add support for emailing out group certificates (like we do for course and quiz certificates) in an upcoming release.

User management

This new optional feature (and we do want to stress that it’s optional, as we’ve heard from a few nervous upgraders) now puts many elements of user management in the hands of Group Leaders. This is a feature where we suggest a lot of caution and testing, as it does mean that Group Leaders can create, edit and delete users.  The basic setting gives Group Leaders access to only the users in their groups, while the advanced setting gives Group Leaders access to any user on the entire site. We expect this will be used primarily on sites where Group Leaders are internal staff, because the ability to delete users and change information about them can be risky and recovery can be difficult. Still, for sites where Group Leaders can be trusted and need these types of tools, this is a great addition.

Uncanny Owl notes

The front end Group Management features in our Uncanny Groups plugin have allowed some level of user oversight and management for some time, but we’ve been very reluctant to put this level of control in Group Leader hands. We won’t even allow Group Leaders to set passwords for existing users, because the Group Leaders could potentially then access personal user data with the password, including data from other courses and personal information. If your staff need this type of control the LearnDash features will be a great addition; we still don’t plan to add anything like this to our plugins because of our concerns around privacy and destruction of data without an audit trail.

Group management

This next optional setting allows Group Leaders to create, manage and delete groups from inside /wp-admin/. Depending on the setting, this can apply to all groups on a website or only groups for which the user is a Group Leader.

Uncanny Owl notes

This can be another great option when Group Leaders need a lot of control and are likely employed by the site owner. The difficulty of recovering from group deletions and management of groups created by Group Leaders without consent of site admins remain a concern for us though. We can think of a few organizations we’ve worked with where these tools would be very helpful, but there still aren’t many. Our Uncanny Groups plugin does offer front end group creation, but we don’t enable it by default and we always emphasize caution (and restricting access) when people inquire about it.

Bypass course limits

Group Leaders can now optionally navigate anywhere they want in a course and ignore the Linear rules, just like admins can. This is a great addition that we plan to enable on most sites we support for ease of use and reduced confusion by Group Leaders.

Group Leaders Bypass Course Limits

Course auto-enrollment

When enabled, Group Leaders get access to courses assigned to groups for which they’re Group Leaders. This makes it easier for Group Leaders to see and review the courses that their students are completing.

Uncanny Owl notes

Our Toolkit Pro plugin has offered similar functionality for several years in the Improved Group Leader Interface module. As mentioned after the LearnDash 3.0 release, however, we largely now consider that module a legacy module and no longer as useful as it once was, especially with this new change in LearnDash core. Our Uncanny Groups plugin also offers a way for Group Leaders to get course access for the groups that they manage.

The ld_group_list shortcode

Paired with the Course Grid add-on from LearnDash, this new shortcode adds a new way to see groups visually. With this tool, courses can be organized by group, effectively another level in the LearnDash course hierarchy. Groups might even be used as categories to allow easier organization of related courses.

Search restrictions

We haven’t seen as much discussion around this feature, but LearnDash 3.2 now only returns lessons, topics and quiz results in WordPress search results if the user is enrolled in them. This means students will see fewer irrelevant search results and won’t experience frustration when they click into posts only to be told that they don’t have permission to view them.

Uncanny Owl notes

This is a huge improvement, and we have actually built custom solutions for some clients that have this exact behaviour. For those consulting clients we’re glad we could provide solutions where otherwise none existed, but now that LearnDash core supports this, it’s the better path forward.

We will note that this new behaviour will only work effectively if permissions are managed based on LearnDash course enrollment. For sites that make all of their courses Open and then restrict individual access by membership level, CRM tag or other intervention, this new LearnDash enhancement won’t make a difference.

Wrapping up and other notes

LearnDash 3.2 is a huge release and the LearnDash team deserve a lot of congratulations for the work they’ve done. They have taken big steps to make groups more useful and solve problems around membership capabilities for many current and future LearnDash users. It’s a big release, so there are a few outstanding issues as we publish this (there were also big changes to the TCPDF libraries and we expect a 3.2.1 release soon), but overall LearnDash 3.2 is going to open up many new course delivery and management capabilities for elearning site owners.

Use LearnDash Groups? Time to update

Some of our plugin releases are ground-breaking, some add minor new features, some include fixes and others are a combination of them all. The Uncanny Groups for LearnDash 3.6 release falls fits the latter category; it’s a really important update for compatibility reasons but it also includes some useful improvements and new features.

New features

The Essay Management shortcode now supports a “status” attribute, with possible values of “all”, “graded” and “ungraded” (the default is “ungraded”). When the shortcode includes this attribute, it will initially load only essay questions with that status. This is particularly helpful on sites with huge essay volumes to reduce load times by only loading ungraded essay questions.

In the previous version of the Uncanny Groups plugin, clicking a user’s status on the Group Management page took Group Leaders to the Course Report. Based on feedback from current users, we are adding the option to instead take Group Leaders to the Progress Report (a.k.a. Manage Progress) instead. This will allow easier review of student progress. The Not Started status will also now be hyperlinked (previously it was not, since there was no progress to report, but if a Group Leader needs to add progress records this will now be easier).

Progress report for LearnDash Group Leaders

Search on the Manage Progress page has been improved to return matches for any part of a user’s first name, last name or email address. This will help Group Leaders more easily find students.

The user upload function on the Group Management page now supports setting usernames in the uploaded CSV file. When the column is included (it’s optional), the value will become the user’s account username (if the user is new). If the column is included but left blank, the email address will become the username.

Compatibility updates

We don’t know when it will be out, but the LearnDash 3.2 release is due out in the near future and it will make some pretty significant changes to groups. Some of these changes do cause some issues in our Groups plugin, so users of the new LearnDash version must update to use the plugin properly.

MySQL 8 compatibility has been added for users running the latest version, and WordPress 5.4.2 added some changes as well that could affect some users of our plugin. This release includes a change to improve WordPress 5.4.2 compatibility related to the REST API.

Fixes and performance improvements

This is really the core of where existing users will benefit from the plugin upgrade. Sometimes how customers use our plugin pushes it to places we hadn’t always anticipated, so for some atypical cases this update will help a lot. Here are some of the changes:

  • Performance is significantly improved for heavy group usage. We initially hadn’t expected many LearnDash sites to have over 1,000 groups or for groups to have many thousands of users—now we know better. A few days ago we found performance issues on a site that had approximately 2.5 million enrollment keys set up for groups, which made for a great example of where we have performance gaps, but the customer of course was finding the plugin difficult to use. Some indexing is added in version 3.6 that helps with this.
  • When there was a Group License product in the cart, the Group Name field on the checkout page was marked as required but could be left empty; a message has been added to clarify the behavior for users.
  • Some strings weren’t translatable. There are over 600 translatable strings in the plugin now, and we appreciate our customers letting us know if they find something that doesn’t translate properly.
  • Line breaks are now supported in essay answers in the Essay report.
  • Some of our progress records didn’t align with LearnDash reports when the LearnDash activity tables were for any reason out of sync with other LearnDash records. While this could be fixed by running data upgrades, in a few places we switched queries to align with LearnDash records.

The full changelog is available at


New WordPress Front End Login Options

The Front End Login module was one of the first things we created for the free Uncanny Toolkit for LearnDash plugin. It gave LearnDash users a simple, free tool for students to use when logging in, and for us (as our business was heavily focused on consulting at the time) it was one more way that we could make site development a lot more efficient.

A lot has changed since we first introduced the module, including LearnDash adding its own login forms. There are still a lot of situations with the login form in our Toolkit is the best fit (and what we always use on sites we build), and with today’s Uncanny Toolkit 3.3 release we’re making the module even better.

Introducing Modal Login Windows

With the latest Toolkit release, you can add this shortcode anywhere on your site you want: [uo_login_modal]. That will create a link (that can also be styled as a button) that pops up a login window. No more devoting precious site real estate to giant login forms! Here’s what it looks like:

WordPress Modal Login Form

There are new options in the Front End Login module settings to change the text of the label, whether or not to dim the background when the modal is active, and text for the link to return to the page. (Make sure to turn on the new AJAX support and use the Boxed with shadow template if you want to use modal login forms.)

The new addition is incredibly powerful and flexible, it makes it practical to add login forms anywhere, but what about menu access? As long as the Log In/Log Out Links module is turned on, you’ll see a new option under Appearance > Menus in /wp-admin/ to add a modal login there:

Front end modal menu

Login forms get AJAX support

If you’ve ever wanted users to sign in but keep the page experience intact, now you can. There’s a new AJAX option (it’s disabled by default) in the Front End Login settings that allows users to submit the login form via AJAX instead.  This option currently only works with the Boxed with shadow template.

Note that this option must be enabled if you want to use the new modal login forms.

Expanded Resume support

Ever wish you could add the Resume button link in the Toolkit to a menu? Maybe somewhere else on your site, or even in your code, where a button might not make sense?

The new [uo_learndash_resume_link] shortcode returns a Resume link for users instead of a button, so you can include it in a menu or wherever else it might make sense. And with the url_only=”yes” attribute, the shortcode will return the full URL for the user, rather than a link with Resume text.

The 3.3 release includes several other changes behind the scenes as well (it has been 3 months since we last published a release!) that improve translation support and efficiency.

If you’re not yet a Toolkit user, now is a great time to give the free version a try!


Better LearnDash CSV Reports

Okay, maybe they’re not pretty, but the Course and Quiz CSV reports built in to LearnDash are still extremely useful reports. They’re a simple, reliable way to get information about students, student progress and quiz results out of LearnDash and into your favourite spreadsheet for analysis.

We know a lot of users have looked at the reports, however, and thought, “Wouldn’t it be great if I could add this one more piece of data as a new column?” We’ve seen it asked a lot, so we decided to add this capability to version 3.5 of Uncanny Toolkit Pro for LearnDash.

We’re excited to introduce the Enhanced LearnDash CSV Reports module to the Toolkit Pro suite of addons for LearnDash. Its purpose is simple: add more columns with frequently-requested data to the LearnDash CSV reports. Here’s a screenshot of the columns you can add:

Enhanced LearnDash CSV Reports

Choose any columns you want to add, save the changes, and the next time you run the LearnDash export for the User Course or User Quiz Data, the extra columns will be included in the output. It’s a pretty straightforward module, but requests for custom columns tend to come up a lot and now we’ve made adding extra data even easier. Who knows, in a future release we may decide to add support for custom values from a user’s profile, if we see that there’s demand for it.

What else is in Toolkit Pro 3.5?

This is a pretty big release with a lot for all Toolkit Pro users to take in.

Among the major updates, the Enhanced Course and Lesson/Topic grids now support single-column layouts. We had a number of users explain why they needed to support a 1-column approach and we listened. The modules now support between 1 and 5 columns instead of 2 and 5.

The Duplicate Pages and Posts module now allows selecting which specific post types should support duplication. There are situations where some custom post types are better not being duplicated, so now it’s easy to turn support off for specific post types. That module also now gets improved compatibility with Elementor.

There are lots of other improvements too; here’s a partial list of the important ones:

  • The Simple Course Timer has improved support for IE 11 (though we still don’t like seeing IE 11 used).
  • The Group Registration module uses the default role set in WordPress instead of forcing the Subscriber role.
  • Translation support has been improved.
  • CSVs that contain Mac and Linux line breaks will now be accepted by the Import Users module.
  • The Import Users module supports apostrophes in email address.
  • The Done button no longer shows up in the last topic or lesson of a completed course when autocompletion is enabled.

Full details of other fixes are included in the changelog at:

We hope you like the new additions and improvements!

Plugin Profile: Design Upgrade for LearnDash

When it comes to must-have plugins for LearnDash, there’s a pretty short list of plugins that can add value to every LearnDash site. Our Uncanny Toolkit for LearnDash is probably one (at well over 20,000 installs), and the Design Upgrade for LearnDash plugin from Escape Creative is another.

The Design Upgrade plugin (by LearnDash guru Dave Warfel) solves a very common need: how do you rebrand and restyle LearnDash elements without knowing much about CSS or having to get deep into LearnDash code? It takes the challenge of restyling potentially hundreds of elements and adds controls to a UI that make everything intuitive.

And it all works really, really well. The free version of the plugin, available at, has over 7,000 active installs and every one of his 36 reviews garnered 5-stars. It gets even more impressive: at the time of writing this article, the plugin had a single ticket over a 2 month period in the support forum. Imagine that, on a plugin running on over 7,000 LearnDash sites, a single user reported a single problem within a 60 day span.

Let’s take a closer look at what you can do with the free version of the plugin.

Design Upgrade for LearnDash

The free version of Design Upgrade for LearnDash adds a lot of value to sites on its own. Even just activating it, before configuring anything, you’ll start to see more consistency and improvements across LearnDash-related buttons, fonts, focus mode, user profiles and more. The styling changes aren’t just for LearnDash either, even in the free version there are some overrides for third party plugins to better align them with LearnDash styles. (That includes some modules, though not all,  in our Uncanny Toolkit plugin.)

Here’s an example of how the free Design Upgrade plugin can change the look & feel of LearnDash elements:

Free Design Upgrade for LearnDash

Design Upgrade Pro for LearnDash

The Pro version of the plugin is where things start to get really interesting.  After all, that’s where support for most of our Uncanny Owl plugins is included!

Dave’s plugin adds support for Uncanny Groups so that buttons, borders and other styles are made more consistent with the styles it applies to other LearnDash elements. Tin Canny support was added recently and includes over 12 design options for customizing front end reports to fit the branding of your LearnDash site. Design Upgrade Pro adds border width, shadow and colour changes to the containers, tables, tabs and charts. All options are available through the WordPress Customizer, so making changes is easy using an interface you already know.

Of course, the Pro version isn’t just about our plugins. Here are some other highlights of what it can do with the core LearnDash plugin:

  • Show or hide course and profile elements
  • Customize course content tables
  • Style the progress bar and buttons
  • Restyle the the course grid, navigation widget, focus mode elements and more

Or, better yet, here’s a video from Escape Creative outlining more of what’s available in Pro:

Who is it for?

The Design Upgrade for LearnDash plugin is really for any LearnDash user, but we think it’s especially useful to novices that aren’t yet that comfortable adding CSS themselves. For developers it can save time too, but it’s the WordPress newbies that are likely to feel most empowered to have an easy to manage the look & feel of LearnDash courses and related elements on their sites.

And as a quick side note, Dave has a pretty great site at that’s full of LearnDash tips and tutorials.

This is not a sponsored post but there are affiliate links in this article. We do just really like Dave’s plugin and the work he does with LearnDash.

Effects of COVID-19 on eLearning Demand

It’s been about 2 months now since Uncanny Owl started seeing changes related to COVID-19, and since then our business has been anything but normal. We wanted to share some of the changes we’ve seen in the elearning and LearnDash space in case it’s of interest to our customers, prospective LearnDash users and the elearning community in general. The last 6 weeks in particular have been a very strange time for us.

The first two weeks

The second week of March is when businesses and schools here (in Ontario Canada) started shutting down due to the coronavirus. Our consulting clients started working from home (our team normally works remotely anyway) and we began to see some worry among plugin customers. By the second week we were seeing a noticeable uptick in refunds due to cash flow concerns among businesses using LearnDash and work from existing consulting clients was either reduced or there was more emphasis on keeping costs down.

This period is when we mostly saw panic, businesses weren’t pivoting yet and everyone was trying to figure out what came next. Organizations that we support that offer blended learning (both online and offline classes) started to shift to online only, but at this time there was still hope that things would be resolved quickly and that by May they could offer live classes again.

Here’s something else that was interesting in March: The most-visited page on our website was a very old blog post about virtual classrooms. Not our plugin pages, not even our homepage, an article that was several years old about helping businesses adapt to virtual learning was bringing in the most traffic. This was indicative of businesses exploring their options in a COVID-19 world.

April org changes and growth

April is when we started to see businesses pivot and move to more online delivery of training. For Uncanny Owl it was probably our most stressful month in years, not only because of the launch of the free version of Uncanny Automator, but because we saw a huge increase in plugin sales. Our volume in April was up over 40% compared to January and February and web traffic was up about the same amount. This sounds good, but we had a really hard time adapting to the associated increase in support tickets; those were up by about 34% compared to March. In April our team sent over 1,000 replies to customers, an all-time record for us, and it did unfortunately mean we had to push back on some work for existing clients.

Uncanny Help Desk Replies

As organizations started to move more online and needed elearning solutions, we also had to field more requests for projects; people needing a LearnDash website increased a lot. The developers and agencies we normally referred projects to (since we weren’t accepting any) were also too busy, so we had more trouble with referrals. And one thing was also clear about the increase: while elearning demand was up, budgets were down. Even for the consulting work we were committed to, instead of just moving forward with development tasks as we normally would, we started providing estimates and going deeper into scoping before any work started. So for us, even while product revenues were up a lot, consulting revenues were down significantly. For the last year or so we’ve generally maintained a balance of 60% product sales to 40% consulting revenue, whereas in April it was more like 90/10. That’s a big change to our business model and we’re still working on getting the right team structure in place to accommodate that.

Support from the LearnDash community

The first few weeks of March, when organizations were just starting to feel the effects of the shutdown and were struggling to adapt, also resulted in many organizations that could help the elearning community step forward in creative ways. Some people in the LearnDash circle offered webinars, discounted invoices to clients, product discounts and more. They also volunteered their services to help where they could; we were fortunate to be in a position where we could volunteer our developers to help the NHS in the UK better deliver training to first responders.

We at Uncanny Owl also offered discounts to organizations affected by COVID-19, an extended refund period on plugin purchases, extended invoicing terms for consulting clients and more, but we didn’t see much indication that those measures helped. And, once the initial March shock and repositioning turned into the April growth, some of the transitional measures that the LearnDash community was offering were harder to sustain given how busy April was.

COVID-19 surprises

We expected the increase in refund requests in March, but it surprised us to see those taper offer in April and return to normal (and very low) levels.

We thought we were helping by offering discounts to organizations affected by COVID-19, but since we extended that offer in March we’ve had fewer than 10 requests. Whether it’s people that don’t know about the option, don’t think they qualify or simply don’t want to ask we don’t know, but the few number of requests has surprised us. If you are affected by the coronavirus and want to use our products but cost is holding you back, please do reach out.

Another big surprise for us was that while plugin sales were up, Uncanny LP sales were not. We thought it was a perfect fit for organizations affected by COVID-19; many needed to switch to elearning immediately, and due to decreased budgets needed a platform that they could launch at very low cost and very quickly. Uncanny LP is made for exactly that situation, but we just haven’t seen elevated interest in that platform. Even though LearnDash developers in general now are seeing increased demand, and organizations going the DIY route are looking at launch dates that are months away, they’re still choosing that route (as measured by our plugin sales) rather than taking the easy route with Uncanny LP.

What’s next

At Uncanny Owl, we’re expecting things to return to closer to what we saw in January and February, especially going into the summer. We’re anticipating our product/services mix to shift to about 80/20 in the next month or so, and overall demand to decrease slightly. We are not expecting budgets to increase though and we expect LearnDash site growth to expand overall, just not at the pace we saw in April. Given decreased budgets and an increasing need for pure and blended elearning solutions, LearnDash and WordPress are both well positioned for the changes in education we have just started to see.

New Code Capabilities for LearnDash

Generating and redeeming codes for LearnDash just got a lot more powerful. Today’s Uncanny LearnDash Codes 3.1 release adds new ways to set up codes, new edit code capabilities and more. This update is free for all current Uncanny LearnDash Codes users.

Use custom codes

Probably the #1 customer request, version 3.1 now allows plugin users to enter their own codes rather than having them randomly generated. It’s as simple as it sounds; the Generate Codes page now has a toggle at the top to choose either randomly generated codes or codes entered by the user. Here’s what the new interface looks like:

Custom LearnDash Codes

Any codes are allowed, as long as they’re unique, between 4 and 30 characters long, and use alphanumeric characters plus hyphens. There’s no longer any need to edit database records if you want to use your own codes! The new system does check manual codes to make sure they are unique and valid, so there’s no need to worry about duplicates with custom codes after the update.

Edit existing LearnDash code batches

Have you ever wished you could make changes to codes that were previously generated? Maybe to allow more uses or extend an expiry date? Version 3.1 allows it! Every code batch that exists in the system can now be edited using the new Edit icons on the View Codes page.

For the edit page, you can change the code type, number of uses, what future redemptions of the code grant access to (courses or groups), and expiration date/time. Note that edits can only be made to non-expired codes.

Customize messages for code redemption

Uncanny LearnDash Codes 3.1 adds a new visual editor for the redemption success messages. This is what users will see when they redeem a code using the standalone code redemption form. You can find the new editor under Uncanny Codes > Settings.

Redeem LearnDash Code Message

Terms & Conditions plus other improvements

The Uncanny Codes settings page now also includes a Terms & Conditions editor that is optionally shown on the native registration form. When text is populated in this field, new users must accept the terms before they can register on the site and redeem a code.

The 3.1 release now includes lowercase letters in automatically generated codes and additional error handling. Full details are in the Uncanny LearnDash Codes changelog.

If you haven’t tried Uncanny LearnDash Codes and need a system to grant access to courses and groups using codes, make sure to check out the full list of features and the Knowledge Base.

Uncanny Groups: Empowering Group Leaders

Today’s Uncanny LearnDash Groups 3.5 release is a big update that includes a number of new features and improvements.

Restrict content to LearnDash Group Leaders

There are many ways to restrict content with LearnDash (by role, tag, course, group, level and more) in our plugins and those of others, and even in Uncanny LearnDash Groups we have a shortcode to show content to members of a certain LearnDash group only. What was missing was a way to show content to Group Leaders only.

The Uncanny Groups 3.5 release includes support for this new shortcode:

[uo_groupleader_restrict_content user_groups="7542"]
Only Group Leaders can read this.

What that does is show the content inside the shortcodes only to Group Leaders that are set up as Group Leaders for the group with ID 7542. The “user_groups” attribute is optional; if it’s omitted, all users with the Group Leader role will see it. It can also support multiple group IDs separated by comma.

Group License purchase emails

A common question we’ve had from customers is how to get new Group Leaders to the Group Management page and to make onboarding easier. Today’s release includes a completely new email type: New Group Purchase.  This email is sent to purchases of Group License products (i.e. Group Leaders) so that you can provide special instructions about how to use and set up their new groups. Typically this email might include instructions about signing in, how to find the Group Management page, how to start adding users to a group, etc.
Group Purchase Email

Group Leaders can edit users

We know this sounds like a huge and scary change so this one is disabled by default. If, however, you want to let Group Leaders edit user names and email address, even usernames, that is now possible. When enabled, Group Leaders can click a student name in the Group Management page and change information about the student.

Turning it on requires toggling the setting(s) below in the Uncanny LearnDash Groups settings page:

Group Leaders can edit learndash student data

Be careful with this setting. For some sites this will make things far more convenient for Group Leaders, but on others this could be an unwanted risk of exploitation and changing student information without the student’s consent.

Administrators can now use all reports

We really want to discourage WordPress administrators from adding multiple roles to their accounts to switch between functions, so to make things easier, admins can now access everything that Group Leaders can in the Uncanny LearnDash Groups front end. Previously we locked some reports down to users with the Group Leader role, now everything is open to both Group Leaders and admins.  Admins will, however, still need to be explicitly assigned to groups as group leader for the groups to show up in the front-end interface.

The 3.5 release of Uncanny LearnDash Groups also includes a dozen other improvements and fixes. If you’re a user, make sure you check out the full changelog at

Lectora Support and Front End Tin Canny Reports

As the Tin Canny 3.4 release goes out, the Uncanny Owl team is currently all working from home and sheltering in place. Like many other firms in the LearnDash space, we’ve been swamped with requests and tickets as more education goes online, and we’re doing our best to meet the demand.

Late last week, an agency in the UK approached us about work they were doing with part of the National Health Service. To support onboarding healthcare workers, they needed a way to get Lectora Inspire modules into LearnDash, specifically with Tin Canny. We’ve had a few requests for Lectora in the past, but not enough to justify the development effort (and adding support for new authoring tools does take a fair bit of time). Regardless, we wanted to help if we could, and between Friday and Wednesday of this week we built support for xAPI and SCORM 1.2 Lectora files.

Today’s release of Tin Canny 3.4 includes the Lectora support that we built for the NHS. It’s our first time working with Lectora Inspire but the data tracks well with Tin Canny

Tin Canny now also supports front end versions of the Tin Can and xAPI Quiz reports. Those reports, for Administrators and Group Leaders, make it easy to see records from uploaded SCORM, uploaded xAPI, and H5P modules. And with the customizable columns and filters, it’s now easier to get the right set of data (even when you might have millions of records).

Front End Tin Can and xAPI Quiz Reports

For administrators that don’t want to give Group Leaders access to all of that data in the front end, there are switches to turn the reports on and off when you use the [tincanny] shortcode. Here’s how you can control it:

Controls for Front End reports

Tin Canny 3.4 is a big release, so we’re not done yet. Here’s what else is new that will help Tin Canny site owners:

  • Protection settings for uploaded modules are now available for non-LearnDash post types.
  • Support for Tin Canny uploads when using the Divi Builder
  • Performance of the Hidden and Autoadvance Mark Complete button integration is improved

We hope you find the changes and new Lectora support useful!

LearnDash Access Restrictions & bbPress Integration

Today’s 3.4 release of the Uncanny LearnDash Toolkit Pro plugin adds 2 new modules, important compatibility updates for LearnDash 3.1 changes and a number of fixes. All users of the Toolkit Pro plugin are encouraged to update, especially to take advantage of the new modules now available.

Restrict Page Access

This new module added in the 3.4 release makes it possible to restrict any post (so WordPress pages, blog posts, lessons, topics, any public post types) by logged-in state, WordPress role, course enrollment or LearnDash Group membership. If you’ve ever wished you could restrict an entire page to only signed in users based on their LearnDash access, this module is going to be very beneficial for you.

Setting up restricted access is as easy as shown in this screenshot:

Restrict Page Access by LearnDash Access

By enabling the Restrict Page Access module, the metabox above is automatically added to the edit page for all public post types. The first level of access restriction is whether or not the user is logged in. If the “Users must be logged in” checkbox is checked, only signed in users can access the page; checking this also exposes additional access controls.

Administrators can set the page up to only be accessible to users based on their WordPress role, enrolled courses or group membership. All of these selections are optional, and all fields allow multiple values to be selected. Note that access for each restriction type (role, course or group) is based on users having any of the selected access. If you populate multiple restrictions (so values in both role and course, for example), use must satisfy at least one of the conditions from each section. In other words, based on the screenshot above, a page with these settings would be restricted to administrators with access to Course 101 OR subscribers with access to Course 101. It would be blocked for subscribers with no Course 101 access and to “Customers” with Course 101 access (assuming the user has the Customer role and not Subscriber).

You can also optionally set a redirect behaviour if the user doesn’t have access to the page. Checking the box allows selection of any page on the WordPress site or redirecting to a custom URL. If no redirect is defined, the user sees whatever message is designed in the “Access restriction message” field in the module settings.

For many users, this new functionality can offset the need for a complex membership plugin or other tools to lock down access for specific pages.

LearnDash Group Forums with bbPress

The second new module in the Uncanny LearnDash Toolkit Pro 3.4 release is “Group Forums with bbPress”, which restricts bbPress forums to one or more LearnDash Groups. It really is as simple as it looks:

LearnDash Group Forum Restrictions

The above screen is added to forum edit pages in bbPress; that’s where the link between LearnDash Groups and the forum is defined.

But that’s not all… to make it easier for group members to access group-specific forums, enabling this module adds a “Forum groups” widget which, as the name suggests, outputs links to forums based on the signed-in users’s LearnDash Group memberships. Add this widget to a sidebar available inside courses to provide easy access for students to their group-based forum(s).

LearnDash 3.1 Support

We saw a few handful of users run into complications now that LearnDash 3.1 supports renaming quiz tables, specifically in the Reset Course Progress and Duplicate Pages and Posts modules. Fixes for those are included in the Toolkit Pro 3.4 release.

Catch up on Toolkit Updates

We recently released updates to the free Uncanny LearnDash Toolkit plugin to complement the Toolkit Pro changes. The most notable of these was a new module called “Disable Emails“. It’s as simple as it sounds, and we added it because we use it on every single site we manage at Uncanny Owl. Any time we clone a site out to Staging for update testing and maintenance, we turn that module on to make sure no unexpected emails go out. We consider that plugin a must-have when testing updates on Staging sites (we use an email logging tool when we need to monitor emails rather than have them actually sent). In future releases we plan to have it automatically detect when it’s being used on a Staging vs. Live site so that it can always be left on and disable emails on Staging while they’re allowed to pass on Live.

The 3.2 Toolkit release also added new naming options for the Certificate Widget and Show Certificates shortcode, ordering options for the Certificate Widget, a redirect parameter in the address bar for Front End Login, Dashboard link support for the LearnDash 3.0 template and more. Make sure to update if you haven’t yet!

User Experience Improvements for Uncanny LearnDash Groups

One of the biggest challenges that users of our Uncanny LearnDash Groups plugin face is figuring out how everything works. It’s a plugin that started off with quite a basic footprint, but over the last 2 years we have continued innovating and adding some really exciting features. As we have done that, we know that it has increased the learning curve a noticeable amount, both for users of the plugin directly and for LearnDash Group Leaders.

Because of that, the next few releases of the plugin will focus more on user experience. We need to make our giant plugin easier to manage, and that starts with today’s release of Uncanny LearnDash Groups 3.4.

The Group Management table

The biggest change in the 3.4 release is to the main Group Management page interface. When we launched the very first version, it was really simple; there was a way to add users and there were simple course and quiz reports. It was simple and uncluttered. Then we added a function to email users, an assignment management page, an essay management tool, a way to manage user progress… and it just got really busy and confusing.

Here’s an example of what part of the Group Management table header looked like before Groups 3.4 (this isn’t even all of the buttons!) versus today’s release.

learndash-group-simplified-interfaceIt’s a big change, to be sure, but we think simplifying the UI into menus instead of buttons will make the Group Leader experience a lot less daunting. For existing users, your existing shortcode attributes and settings will all be carried over, so don’t worry about these changes disrupting anything you might have customized.

Essay and Assignment Management

Front end interfaces to manage essays and assignments were late additions to our Uncanny LearnDash Groups plugin, primarily because we really don’t use them much on our own LearnDash sites. That remains the case, and until we recently worked with a client that does a lot with essay questions (I reviewed one example where a single instructor was assigned 3,000 essay questions to review), we didn’t know how inefficient our model was.

LearnDash Essay Review Table

In today’s release, we’re adding new columns so that you can see a user’s answer and approve it right from the list of essay questions. No more clicking to load up a modal and approving it there, now instructors can power through grading activities and turn things around faster.

Because of all of the new columns, we needed to do something with the clutter. Columns can now be turned on or off (with the little checkboxes above the table) and you can drag columns to whatever order you want. The system will even remember what columns users had shown and hidden when they visit the report at a later date. You can even resize the columns!

The filter for Graded and Ungraded should make it a lot easier (and more performant) to see only the types of essay questions you need to review, and First and Last Names columns make searching easier.

Performance improvements

Some of our plugin users really pushed the boundaries of how we expected LearnDash Groups to be used, and in some cases our model didn’t perform well on certain sites. We never expected to see groups with over 10,000 seats or thousands of users, and while we still don’t think it’s a great approach in many situations, the plugin will at least perform better in those situations.

The Uncanny LearnDash Groups 3.4 release is a big one, so make sure to test it on a Staging site before you update and have a look at the changelog for even more updates!

New Mark Complete Button Options in Tin Canny!

Our Tin Canny LearnDash Reporting plugin offers the easiest way to add modules from tools like Articulate Storyline, Adobe Captivate, Rise, and iSpring to your LearnDash courses. It’s our second most popular LearnDash plugin and gives thousands of LearnDash sites xAPI and SCORM capabilities that rival bigger LMS vendors.

Since it was introduced, we gave LearnDash users a way to control progress in courses based on how learners interacted with uploaded modules. It was pretty simple: users could only click the LearnDash Mark Complete button to move forward if they completed, passed, or achieved some other condition inside the module.

For Tin Canny some users, that wasn’t enough. We got a lot of questions about Tin Canny like these:

  • Can we hide the Mark Complete button completely until the learner completes a module?
  • Can we change the text on the Mark Complete button if there’s Tin Canny content on the page?
  • Can we automatically mark the lesson/topic complete when the learner completes the module?
  • Can we automatically move the learner to the next lesson when they complete the module?

We wrestled with changes for a long time and couldn’t settle on the right way to handle autocompletion and autoadvancing for people that wanted those things. That led to some Tin Canny users adopting third party solutions, like Uncanny Automator.

Instead of coming up with a single solution, Tin Canny 3.2.2 offers—all of them!

Introducing the new Mark Complete Options

We heard your feedback and added every option we could think of to Tin Canny.  They include:

  • Always Enabled: Mark Complete button is always enabled.  
  • Disabled until complete: Mark Complete button is disabled until the completion condition has been satisfied. This is the current default behaviour when the Mark Complete control is turned on in Tin Canny.
  • Hidden until complete: Mark Complete button is hidden until the completion condition has been met. When the condition is met, Mark Complete appears.
  • Hidden and autocomplete: Mark Complete button is hidden and the lesson/topic is automatically marked complete when the completion condition has been met. (Make sure you have an intuitive way for users to know they finished the module and can move forward!)
  • Hidden and autoadvance: Mark Complete button is hidden, the lesson/topic is automatically marked complete and the learner is automatically advanced to the next lesson or topic when the completion condition has been met. (You may want to add an empty final slide or something similar so users aren’t automatically advanced when a results slide appears.)

For a full description of the options, visit our Knowledge Base.  The options can be set globally from the settings screen, or individually at the lesson/topic level.  We think these new options open some exciting new possibilities for an even more seamless learner experience.

These new options should address all requests that we’ve had for new behaviours in the Mark Complete controls, but as always, send us your feedback about how we can make things even better. Our goal is always to make Tin Canny the easiest and most feature-rich SCORM and xAPI solution for LearnDash platform!


Use LearnDash Groups? Get this Toolkit Pro Update

Version 3.2.6 of the Uncanny LearnDash Toolkit Pro might sound like a small point release, but for users of LearnDash Groups, it’s going to make things a lot better. We worked really hard on this one to accommodate a number of user requests (including from the LearnDash team), so we know it’s going to add a lot of value.

Send Group Drip Notifications

The Group Drip module is now compatible with the LearnDash Notifications plugin!

What does that mean for you? Well, if you control how lessons are dripped by LearnDash Group, it means you can send users an email when the lesson is available. Workarounds, like using a CRM to drip notices based on group tag, are no longer needed.

This makes is much, much easier to let students know when content is available in their courses.

Please note that while we did our best to make things as simple as possible, because of how the Notifications plugin works, having emails triggered by group drip date does unfortunately require that everything be set up in a particular order. Here’s what’s needed to make the notifications work:

  1. Create the Lesson Notification in the LearnDash Notifications plugin.
  2. Create or edit the lesson you’re going to drip.
    1. If Shared Course Steps are off, choose a group for the drip behaviour and then select a date.
    2. If Shared Course Steps are on, select a course in the Course Switcher dropdown, choose a group for the drip behaviour and select a date.
  3. Save the lesson changes.

The lesson update after setting up the notification is unfortunately needed for emails to be triggered properly. It’s worth it though for this powerful new feature!

Integration with the Uncanny Groups Plugin

The 3.2.6 release of Pro also adds some really compelling new ways to use Pro with our Groups plugin. The Import LearnDash Users and Group Registration modules now recognize and work with seat limits set in Groups. What does that mean for your site?

For the Import Users module, it means that user uploads into LearnDash Groups that have seat limits will now count against available seats. In other words, if a group has 100 seats assigned, 40 in the group already and you add another 40 by import, the group will now have 20 seats remaining. The imported users will count against the seat count for the group. And, if you were import 100 instead of 40, then the seat limit for the group would be increased to 140 (since there were 40 and 100 were imported) and the available seat count would change to 0.

It’s pretty great, but the Group Registration changes are even better. Now all users that register from the group URLs count against the available seat limit. These means you can now limit how many people can use these registration URLs, but even better, you can let group members self-register directly into groups without using enrollment keys. Instead, the unique URL they register from effectively acts as the pre-populated enrollment key. This approach is far easier for learners to use when signing up for group-based access.

And that’s it for Uncanny LearnDash Toolkit Pro 3.2.6! If you use LearnDash Groups, you’re definitely going to enjoy these new features.