2023 – Year in Review

2023 has been a huge year for Uncanny Owl and there’s a lot for our team and customers to celebrate. From plugin releases to WordCamp Europe to customer support, the year was packed with milestones and accomplishments. 🥳🥳

Plugin releases

So far in 2023 we have released a total of 90 plugin updates, with 1 or 2 more expected before year-end. (Yes, that does mean we released a plugin update more frequently than once every 3 business days!) Here’s the breakdown:

Every single one of our plugins gained new features this year. Here are some of the highlights:

Those are just the biggest new features, of course; changelogs across our various releases had over 650 total entries. For Automator plugins alone, there were over 250,000 code changes! 🤯

The Automator 5.0 releases along with its two new addons represented a big expansion of Automator’s capabilities, evolving it from a pure integration and workflow tool toward a complete WordPress site development platform. Where customers used to think, “How can I connect these 2 things together?”, it’s starting to shift to, “Do I really need all these other things anyway if Automator and its addons can do it all for me?”

Automator Loops

In addition to the work on our own plugins, our developers made core contributions to several releases of WordPress itself! 👊

Plugin support

Our Help Desk has been busier than ever, sending over 14,000 replies (from January 1 to November 30) and resolving well over 6,000 tickets.

Here are just a few of the comments from customers this year:

  • You responded very quickly, took my ticket seriously… and offered me a solution within 24 hours. Thank you for great customer service!
  • These guys just get better and better. Very glad I chose Uncanny Owl.
  • This is probably the most thorough, specific and tailored technical assistance I’ve ever had from a plugin support team.
  • Far beyond what I was actually expecting. [Uncanny Owl] went the extra mile and assisted me with a mostly unrelated issue that will save me quite a bit of time in my general business. 
  • I am blown away by the capabilities of this plugin. I have been able to achieve things across multiple sites that I didn’t think possible. It was simple to use and when I did hit a snag, the support was incredible. They did everything they could to drill down on the issue.
  • Outstanding – fast, competent, responsive. Superb as ever.
  • More great support from Uncanny Owl – consistently some of the best customer service I’ve encountered in any industry. Great work guys.
  • These guys are just unreal – SUCH an impressive level of support and expertise. Truly exceptional. Keep up the great work, y’all. Cheers
  • You can remove the Help Scout form’s buttons for “okay” and “not good”. They seem unnecessary for a company like Uncanny Owl. 😉
  • The feedback received was clearly documented and helped a great deal with resolving multiple issues. Thank you very much! Ps. Your solution is amazing too 🙂

Install growth

It was a big year for all of our plugins, but of course the star was Uncanny Automator. We increased Automator’s install base by over 50%, moving from 20,000 active installs to over 30,000 in less than a year. It’s also up to over 750,000 downloads. While the install count is still just behind our Uncanny Toolkit for LearnDash plugin, Automator will eclipse the Toolkit in about 3 months.

Beyond just the growth in the number of sites using Automator, we’ve also seen growth in how much Automator is used on each site. Over the past year, Automator users have run over 50 million recipes (and that’s just from sites that are sharing analytics data; the actual number is much higher)! The average site now also has over 5 active recipes (up from about 3.5 in 2022).

Uncanny Toolkit Pro for LearnDash remains our most popular premium plugin, crossing the 8,000 sales threshold this year, and it’s thrilling that all of our premium plugins have now sold thousands of copies each!

New plugins

Late this year we were thrilled to announce 2 brand new plugins for Uncanny Automator: the Custom User Fields addon and the Restrict Content addon.

Custom User Fields makes it really easy to add new fields for user profiles, display and manage the data, and incorporate those fields into your Automator recipes. It’s also fully compatible with any other plugin that adds custom fields to user meta.

Automator Custom User Fields

Restrict Content is a simple but powerful plugin that makes it easy to set up access/membership levels, manage them for users, then control access to blocks, posts, pages, and shortcode content. It’s all tightly connected to Automator, so it’s easy to manage access levels using recipes.

WordPress Accessl Levels

Both are free tools for anyone with a Business or Agency annual license for Automator.

Plugin ratings

Beyond the feedback we received in our Help Desk, Uncanny Automator and the Uncanny Toolkit received lots of new 5-star reviews on WordPress.org. In fact, over 97% of reviews in 2023 were 5 stars!

Here’s a sample of some of the feedback we received:

  • We had a quote for customisation – approx £2,500 – way out of our reach as a tiny charity. But a few days work with Uncanny Automator Pro, MemberPress, Google Sheets and MailChimp and we have a fully functional automated system for a fraction of the cost, and we’re identifying other opportunities on a daily basis.
  • WOW! It was the best decision ever. This PLUGIN is great, I’m in love with the things you can do and to be honest I haven’t explored half of it.
  • This plugin has been absolutely brilliant, any automation process I’ve needed it has fulfilled. Without a doubt, I’d recommend this plugin to anyone that needs automation built into their WordPress site.
  • Uncanny Automator is super powerful with so many integration one can not fathom how powerful this plugin can be. It is definitely one of my top 3 plugins to install on all my WordPress websites.
  • This is a MUST HAVE plugin for any WordPress site, especially those utilizing LMS or WooCommerce!

It’s also been a thrill to be featured on more “best WordPress plugins” lists than we can count! 😎

New content

It’s been a busy year for the writers at Uncanny Owl, with more than enough new blog posts and knowledge base articles to fill a book or two. In our goal to make our plugins as useful and well documented as possible, we published over 60 new blog posts for Uncanny Automator, a dozen for Uncanny Owl, plus several dozen new Knowledge Base articles.

We know that all of the new content is helpful, but we’re also aware that it makes discovery challenging and that it’s a lot of text to go through. With almost 250 total Knowledge Base articles, in 2024 we’ll implement more ways to quickly find content that’s relevant to you.

Team meetups

In our first big meetup post-COVID, most of the Uncanny team was able to travel to Athens in June for WordCamp Europe. It was an incredible opportunity for our team, families and peers to connect in a gorgeous location. From left to right, here’s a picture of David, Ken, Dani, Brendan, Nastia, Agus, Manal, Saad and Ryan in front of the Athens conference centre:

WCEU 2023 Uncanny Owl

For even more details about our WordCamp Europe adventure, check out the full blog post.

In December, we met up with the Toronto-area team for lunch and some bowling. In 2024 we’ll get more of the team over to Canada for a meetup in May!

Uncanny Holiday Lunch

What’s next for 2024?

We’ve made some tremendous advances in 2023 that will allow us to push the boundaries of WordPress automation in 2024. While we typically don’t talk about what’s coming, certainly some of our priorities will be obvious, including:

  • Recurring recipes, scheduled recipes, and better support for nesting of conditions, delays and loops.
  • Another addon or two for Automator.
  • Lots of new integrations, surpassing the 200 mark in the next few months.
  • An overhaul of this website, because yes, we know that it’s very, very overdue.

We also expect to expand the team in early 2024 to grow our capabilities related to support, front end development and LearnDash development. If you’re interested, you know where to find us!

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.

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.

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.

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.

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.

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 https://www.uncannyowl.com/knowledge-base/learndash-toolkit-pro-change-log/ 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.

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.

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: https://www.uncannyowl.com/knowledge-base/learndash-toolkit-pro-change-log/

We hope you like the new additions and improvements!

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!

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.

LearnDash 3.0 is out. Do you still need the Toolkit?

The LearnDash 3.0 release landed a few weeks ago, bringing with it lots of new features and a far better user experience for students and admins. It also added new login and registration options, meaning LearnDash site admins no longer need to rely on additional plugins to incorporate those features. With all of the LearnDash enhancements in the 3.0 release, it begs the question: Do LearnDash site owners still need the free version of the Uncanny LearnDash Toolkit?

LearnDash Toolkit


What’s in the Toolkit?

To consider the relevancy of the free Uncanny LearnDash Toolkit in a LearnDash 3.0 world, let’s review the modules included in the Toolkit:

  • Breadcrumb Links: Allow easy navigation from inside lessons and topics back up to the course and student dashboard level.
  • Certificate Widget: Output a list of earned certificates in a widget area with links to open the certificates.
  • Front End Login: A login form that allows easy branding, password reset, recaptcha support and more.
  • Groups in User Profiles: List groups that a user belongs to on the profile edit page in /wp-admin/.
  • Hide Admin Bar: Hide the admin bar for users based on role.
  • Log In/Log Out Links: Add links to menus to easily log in and log out from any page on a site.
  • Log In/Log Out Redirects: Control where users are directed when they log in or out on the site.
  • Menu Item Visibility: Show menu entries based on whether or not the user is signed in.
  • Not Enrolled Redirect: Redirect users to a sales, login or other page when they land on a course page when not enrolled.
  • Resume Button: Return users to where they left off in a course.
  • Show Certificates: Show a list of earned certificates with hyperlinks.
  • Show or Hide Content: Conditionally show content on a page based on whether the user is logged in or out.
  • Topics Autocomplete Lessons: Lessons are completed automatically when associated topics are all completed.
  • User Switching: Allow admins to switch to a student account and view the site as that student.

Those 14 modules are currently available in the free version of the Toolkit and offer an easy way for admins to add extra capabilities to LearnDash sites.

Are all Toolkit modules still relevant with LearnDash 3.0?

Now that we’ve taken a look at what the Toolkit offers, let’s review how their utility and relevance changes with LearnDash 3.0.

The Breadcrumb Links module is particularly useful on more complex sites where there is a dedicated page acting as a learner “dashboard”. This is typically where learners land after logging in and will often include a list of enrolled courses, instructions, and links to key tools and resources. LearnDash 3.0 offers an easy way for learners to navigate back up to the course level with breadcrumbs, but not back to a centralized course dashboard (if one exists). For sites using a learner dashboard or with more complex navigation needs, this module remains an important addition with LearnDash 3.0.

The Certificate Widget and Show Certificates modules may or may not be of value on LD sites. There are alternatives (the ld_profile shortcode in LearnDash, for example, includes certificate links) and certainly these aren’t must-have tools.  If you prefer to display a list of certificates in a sidebar or independently of the ld_profile shortcode, then these modules may still add value to your site.

The Front End Login module is where things get more interesting. Until LearnDash 3.0, this is what made the Toolkit essential for LearnDash sites and was by far the most-used module in the Toolkit. Now that LearnDash 3.0 has login capabilities, should anyone still use the version in the Toolkit?

In our opinion, it depends. What’s in LearnDash 3.0 right now is basic and handles simple login functions only. What’s in the Toolkit handles branded password reset (LearnDash relies on WordPress default password reset functions), reCaptcha, manual user verification and more—features the LearnDash login tool doesn’t support. Of course, not everyone needs those features, and what’s in LearnDash is likely sufficient on some sites.

Recaptcha in LearnDash Login Form

Groups in User Profiles is effectively redundant in LearnDash 3.0. It’s a legacy module that doesn’t add value to new LearnDash 3.0 sites and we may retire it.

Hide Admin Bar adds some role-based controls to hiding the admin bar that LearnDash doesn’t offer, and if you want to keep Group Leaders out of /wp-admin/ then this is still a very useful addition. If that capability isn’t needed, default LearnDash behaviours should be sufficient.

Log In/Log Out Links and Log In/Log Out Redirects are, or at least we believe they are, essential additions to LearnDash sites. We think Log In and Log Out functions should be easily accessible to users and available in site menus, and that learner dashboards should be used to provide a good student experience (and by using the redirect module, users can automatically land there after login).

Should learners see a different site menu than anonymous prospects? Absolutely, and that’s why we think the Menu Item Visibility module is also a must-have. LearnDash doesn’t currently support this capability.

Not Enrolled Redirect is an optional module that is useful if you display the same list of courses to both enrolled and not enrolled users (using something like a course grid, for example), and want users to be redirected to some sort of page optimized for sales instead of the course page when they click on a course in which they’re not enrolled.  For sites with that type of user experience, this module can add a lot of value.

The Resume Button module is another must-have, especially if you use our Pro plugin and the course grid or dashboard modules. It makes it easier for students to see where they left off and pick up again from that point.

Course Grid with LearnDash Resume Button

Show or Hide Content is another module that is very useful when you want to display different content to users on a given page depending on whether they’re logged in or out.  There are growing alternatives for sites, especially with increasing use of Membership and CRM plugins, and in many cases the native and LearnDash shortcodes are suitable alternatives. But there are still situations where these shortcodes make messaging for students a lot easier to manage.

Topics Autocomplete Lessons does still offer a more linear flow through courses and better student experience in many situations. It’s widely used, and while not a must-have, it’s going to add value to most sites.

The User Switching is the final must-have module in the list. For troubleshooting problems this capability is invaluable for admins.

So, do you need the Toolkit?

Yes, the Toolkit still adds significant value to LearnDash 3.0 sites. Certainly we’re biased, but we believe that LearnDash sites still need the Toolkit to round out the admin and user experience.

We recognize that some Toolkit modules aren’t as essential as they once were. The Front End Login module moves from must-have status to a valuable add-on for most sites, and while all sites we build will use our Front End Login module (we want reCaptcha and branded password reset), we know fewer sites in the future will depend on our login module.

Nevertheless, that still leaves five Toolkit modules that we believe should be on all LearnDash sites: Log In/Log Out Links, Log In/Log Out Redirects, Menu Item Visibility, Resume Button and User Switching. Many others are likely to add some value, depending on the context, and there’s never a situation where we just recommend turning everything on without considering the value it adds to your site.

What about Pro?

Everything covered above is about the free Toolkit only. After all, it’s almost standard on new LearnDash sites and has a huge install base. But the Uncanny LearnDash Toolkit Pro add-ons plugin is extremely popular too, installed on thousands of LearnDash sites, and it adds dozens of additional modules. Are any of those redundant with the LearnDash release?

For our own LearnDash projects, the Pro add-on is our only other must-install plugin besides the Toolkit. (Our other Uncanny Owl plugins, like Groups, Tin Canny, Codes, and Continuing Education Credits certainly add value to some sites, but they’re not suited to every site.) At the time of publishing, Pro adds 25 modules to LearnDash sites, and on typical sites that use Pro we often see 5 to 10 of those activated.

For sites using Pro, we consider several of the modules to be extremely high value: Simple Course Timer, Import Users (directly into courses and groups using a simple checkbox interface), Course DashboardEnhanced Course/Lessons/Topics Grid, Import LearnDash Users, Email Course/Quiz Certificates, Drip Lessons by Group, Duplicate Pages and PostsAutocomplete Lessons & Topics, and the Learner Transcript. LearnDash 3.0 doesn’t include anything related to the functionality these modules add to sites.

Two pro modules have been replaced by native LearnDash functionality in LearnDash 3.0 (with the LearnDash 3.0 theme active): Sample Lesson Label and Lesson/Topic/Quiz Table Colours.  The LearnDash 3.0 theme now shows a visible Sample label on sample lessons, and lets users customize UI colours in settings.  However, none of the other modules in Pro have seen their value proposition change with the LearnDash 3.0 release. While Certificate Preview is a new module to the Toolkit, it is another one where we can see future LearnDash development negating the need for this tool. For now, however, it still makes certificate production and testing more efficient.

Are we changing the Toolkit because of LearnDash 3.0?

Both the free Toolkit and Pro addons remain under very active development and we have a lot of great new features planned. Some modules (like the Groups in user Profiles module) may be retired as they become less useful, but that’s a good thing—we want deliver the best possible experience on LearnDash 3.0 sites and we’ll continue innovating and reassessing the value of our Toolkit modules.


Pro Updates: Faster Learndash and a New Dashboard

Every time we make a blog post about one of our plugin updates it’s because it’s a huge update with new features, and for today’s Uncanny Learndash Toolkit Pro 3.2 update that’s especially true. This one has been in development for quite some time, and the new features are going to make a huge difference to LearnDash sites, especially ones with a lot of content.

Faster LearnDash Lesson & Topic Performance

We’re most excited about adding a new Lazy Loading Course Navigation tool. We get inquiries all the time about how to improve LearnDash site performance at the enterprise level. This includes sites with potentially hundreds of courses and thousands of LearnDash lessons and topics. On those sites, things can really get slowed down just because of the volume of content; queries get really heavy just to check course content relationships and progress within courses. On larger sites, we’ve seen these queries add seconds (yes, plural) to every page load that students make inside a course. You can’t really take away navigation aids from inside courses—but you can now load them after the rest of the page loads.

That’s what our new [uo-course-navigation] shortcode does. Use it in place of the normal LearnDash Course Navigation widget and all of the extra LearnDash queries will run AFTER the rest of the page has loaded. On a big site we tested on, this approach made lessons and topics load about 25% faster for students. (It adds a brief loading animation to the navigation tool and users don’t see the course hierarchy right away, but on large sites the tradeoff is absolutely worth it.)

New Dashboard Design

New LearnDash Dashboard Design

Our LearnDash Course Dashboard shortcode was due for a redesign, especially after seeing some of what’s coming in LearnDash 3.0. So that’s exactly what we did, and in a big way. While not shown in the screenshot above, it’s now really easy for users to know how to start a course, resume a course and retrieve certificates. The colour palette is very customizable, and the new dashboard is amazingly responsive. We’ll get a demo up on our plugin demo site at https://learndash.uncannyowl.com/ soon, but we can assure you that it collapses very well and looks great on mobile devices.

For users of the current dashboard, don’t worry, there’s a toggle to continue using the Legacy design. Everyone else will almost certainly want to try out the “3.0” design though.

LearnDash Certificate PreviewCertificate Preview

If you’ve created many certificates with LearnDash you know how awkward and time-consuming it can be to set up certificates exactly as you want them. It typically involves setting up a test course, test lesson and/or quiz, then triggering completion and continuing reloading PDF files to try to get things right. You have one window open in the front end, the other in the back end, and you go back and forth to get things right.

Not any more. With the Certificate Preview module turned on, a Preview button gets added to the course edit page. And by clicking that button, right where you edit the certificate, you can preview the certificate. No more test courses and quizzes. Generating certificates is now far easier when you can do everything right inside the certificate edit page.

Note that because there is no associated course or quiz, our preview can’t actually render the shortcodes for things like completion date or course name. Instead, our preview tool substitutes placeholder data in the place of LearnDash shortcodes, so you can still focus on getting the layout right without having everything set up yet.

There’s More!

The Pro 3.2 release is big. We added some other great functions that will help a lot of our customers on their sites.

The Enhanced Lesson/Topic Grid module now supports WordPress category and tag attributes, so it’s easy to generate topic and grid listings with different content depending on the context.

Email Course Certificates adds %Group Name% token support to subject lines to make it easier for notifications to distinguish between users in different groups.

We also included a few fixes, notably for users that might have had issues with Drip Lessons by Group or automatically advancing on Gravity Form submission when the Autocomplete Lessons & Topics on Gravity Forms Submission module was enabled.

If you’re not yet an Uncanny LearnDash Toolkit Pro user, there’s never been a better time to buy; the Toolkit is now up to 39 total modules!

Introducing Automatic Template Overrides

We’re in the middle of another big round of plugin updates and perhaps one of the most exciting addition to our plugins is support for template overrides. Basically, this feature allows you to take key HTML elements from our plugins, copy the templates into your child theme, make modifications to them, and not be worried about your customizations disappearing when you update the plugins.

Last week’s Uncanny LearnDash Toolkit Pro (3.1) and LearnDash Groups (3.0.4) and this week’s Uncanny LearnDash Toolkit (3.1) updates are the first to support this new behavior. Using the overrides is really easy; find something you want to override in the /src/templates folders of our plugins, copy that file to your child theme (into an /uncanny-toolkit/ folder for the Toolkit plugins, /uncanny-groups/ for the Groups plugin), and then apply your changes to the new file.  If the file is in a subfolder of the /src/templates folder, replicate the same folder structure inside the override folder, but drop the /templates path  (e.g. /src/templates/frontend-login/default-login.php would go in /your-child-theme/uncanny-toolkit/frontend-login/default-login.php).

Certainly this feature is intended primarily for developers, who can build some very powerful features using our plugins as a base. Perhaps you want to add a new field to our Enhanced Course Grid, like an instructor name, or maybe on the Import LearnDash Users page you want to add your own instructions and branding. Template overrides make things like this much easier.

And while we’re talking about Pro and Groups plugins anyway, here are some other recent updates to the plugins you may have missed…

Recent Uncanny LearnDash Toolkit Pro Updates

Improved Group Leader Interface: No more relying on third party plugins to redirect your Group Leaders! This module now supports login redirects for Group Leaders. If you use Pro with our Groups plugin, this is a great way to get your Group Leaders to land directly on the Group Management page.

Improved Group Leader Redirect

Email Quiz Certificates: Tokens now available for including the user’s first and last name in the email sent to admins and/or Group Leaders. Use %First Name% to include the user’s first name and %Last Name% for last name. This makes organizing emails much easier.

Email Course Certificates: Pro 3.0.4 added a way to send certificates with a timed delay. Most users should not choose the “Use Cron to send certificate option”, but in some cases where a shortcode does not have course completion when the certificate is sent, choosing this option and then having the certificate sent 20 seconds after completion allows time for shortcodes in the certificate to render properly. If you find your certificate PDF files have some blank values, try turning this on.

Recent Uncanny LearnDash Group Updates

We’ve made a number of recent enhancements to our Groups plugin that will really help site owners:

Put the Key Redemption field anywhere in your Gravity Form registration form. This one is a huge improvement for several Groups users; the code entry field is no longer restricted to the bottom of the form. Instead, you can add the “Uncanny Code” field type anywhere on your form.

Include passwords in user uploads. CSV files can now include a specific password rather than the Groups plugin force a random password. This is a huge benefit on sites where students may not have an email address, as instead of requiring that an email be sent with their password, or a link to reset the password, nothing needs to be confirmed by email.

User verification in Gravity Forms is now supported, so you can have users confirm their email addresses before registration.

What’s New in LearnDash Toolkit Pro 2.5?

Yesterday’s release of the Uncanny LearnDash Toolkit Pro 2.5 update included a few very highly requested features, so we wanted to highlight exactly what’s now available in a blog post.

LearnDash Reset ButtonFirst up, there’s a brand new module: LearnDash Reset Button. We kept this one simple, but it’s powerful. When triggered, it allows users (or the system) to completely reset a user’s progress in a course. An example of this might be when a user has already completed a course but must retake it. In those situations the user may want to reset their progress first so they can start again, and this button is a great way to do that. Want to make sure users only see the button after they’ve completed a course? Wrap it in the shortcode! This module also includes a PHP function to reset course progress, handy for developers that perhaps want to reset progress when users repurchase a product. Learn more about this new module over in our Knowledge Base.

We also have big changes for our Enhanced Course Grid module, one of our most popular modules in Pro.  Users have long requested that there be a way to resume courses. The most recent release of our free LearnDash Toolkit, version 2.5, includes a course-specific Resume button shortcode that outputs a button that takes users back to where they left off in a specific course.  To make that button super easy for users to access, we’ve added a new attribute (resume_course_button=”show”) to the Enhanced Course Grid that displays a course-specific Resume button beneath the course when resume data is available. We’ve also added a second attribute (start_course_button=”show”) that displays a Start button for users that haven’t yet begun courses.  Two big notes for this one: You must have the Resume toolkit module enabled to use the new resume attribute, and if no resume data exists for the user for that course then no button will be displayed. This means that if you turn this on, an existing user with 50% progress in a course wouldn’t see any button because resume data at the course level only gets tracked after you install the Pro 2.5 update. Confused? Check out the Knowledge Base article for more info. Also note that you must update to version 2.5 of the Uncanny LearnDash Toolkit as well to use these new resume features.

To go along with this new resume functionality is a new shortcode included in the free Toolkit plugin. With the resume module in 2.5 we’re adding this new shortcode: [uo_course_resume course_id=”x”]. You can add that shortcode to any page (including course pages!) and it will allow users to return to the lesson, topic or quiz they last visited. It’s just like our regular resume button, except instead of being global this one applies to specific courses. The Knowledge Base article covers how to use it.

And one more big change: you can add category drop-downs to the Enhanced Course Grid! Use the categoryselector=”show” attribute to filter by WordPress category and course_categoryselector=”show” to filer by LearnDash course category. Make sure you use the right one! WordPress vs. LearnDash course categories are a frequent source of confusion for course grid users. The new attributes are included in the Knowledge Base article for the Enhanced Course Grid.

The 2.5 update includes a a few other changes, like the Import LearnDash Users module now supporting Display Name and better Gravity Forms detection.


Improve Your LearnDash Course Sales Workflow

Do your visitors get confused about how to buy your course?

Course pages in LearnDash tend to have two audiences: enrolled students and potential students. That can make things a bit confusing. Do you tailor the content and experience to the learner, or do you make the experience more intuitive for prospective buyers? You can absolutely do both (the visitor and student shortcodes come in handy here), but it does make managing the content and using page builders more difficult.

In the latest version (2.3) of our free Uncanny LearnDash Toolkit plugin, we added a very simple new module that can make things easier for some sites. What it does is simple: If a person trying to access a course page is not enrolled in the course, the system redirects them to another URL. That’s it, the behaviour is very simple.

course redirect

Where this comes in really handy though is with both our course grid module in the Toolkit Pro plugin as well as the LearnDash grid add-on. Using either of those, now you have a way to control the behaviour when users click courses in the grid. If they click a course in the grid and they have access, the users get to the course. If they’re not enrolled, they go straight from the grid to a sales page (or to checkout, or to whatever other page you define). No middle step, no making the course page work for 2 different audiences.

Another great use of the module is redirecting a user to a page that explains that he or she doesn’t currently have access to the course with instructions on how to become enrolled. This can  be a single global page, making maintenance much easier than editing all course pages.

Using the new module is simple. Just turn it on from the Toolkit settings page, and in course edit pages, add the URL you want to redirect users to when they’re not enrolled. That’s it! If you want the redirect to work for some courses and not others, just add a URL for courses where you want to redirect people that aren’t enrolled and leave the URL blank if you want all users to be able to access the course page.

We hope this new workflow option improves your conversions and the user experience.

Updates? We’ve Got Updates!

It’s been a very busy 2 weeks in the LearnDash world.

Version 2.5 of LearnDash was released on November 7, bringing long-awaited features like a visual course builder and the ability to include lessons and topics in multiple courses. The latter is a fundamental change to how courses can be organized and developed.

For LearnDash users, the changes bring welcome new features and far more flexible ways to author courses. And for plugin developers like us, we have to rethink how course relationships work and find new solutions when there are significant architectural changes to the plugins we depend on.

For the last 2 weeks we’ve been working tirelessly to add proper support for LearnDash 2.5 to our plugins. This wasn’t always easy, as LearnDash changed how lessons, topics and quizzes mapped to courses—and with plugins as big and as complex as ours, we have a lot of code that has to look up course relationships, labels, and more.

We released a significant update to the Uncanny LearnDash Toolkit 2 weeks ago that addressed several 2.5 related issues and also added a simple new module for easy User Switching. That plugin has now crossed the 8,000 active installs barrier (yay!) and no issues tied to 2.5 have been reported. (As an aside, with 8,000 installs and only 6 reviews, I think we may have one of the lowest review to install ratios in WordPress; if you use the plugin, don’t forget to leave your review!)

Last Wednesday we released a big update to Pro, addressing multiple 2.5 issues (with the timer, course expiry, group drip and autocompletion) and we added a completely new way to track time for courses. It’s still in beta, so we suggest testing it on Staging sites first, but it’s a more efficient way of recording time and can potentially reduce the resources used by our old timer by 80%. On less powerful sites where resources were already being pushed, we do suggest giving the new tracking method a try. And because it’s lighter, we do now allow a polling interval down to the 5 second level for increased accuracy (the previous limit was 10).

LearnDash Timer

The update to our LearnDash Groups plugin was released on Thursday. It’s less related to 2.5 but covers a lot of fixes to our Groups plugin. It’s still our newest plugin and it receives the most feedback and suggestions for improvement, so if you use Groups, you should absolutely update. There are a lot of improvements.

The Tin Canny update with LearnDash 2.5 fixes was released earlier today. We had a lot of complications with this one to make sure course attributions were correct with the 2.5 changes, so it unfortunately took the longest to release.

That’s it! Those were a lot of plugin updates for us in a short span. Let us know if you do notice any new issues related to LearnDash 2.5 and we’ll happily take a look.

New Course Certificates and Lesson/Topic Grids!

As we head into the 1-year anniversary of our Pro plugin for the Uncanny LearnDash Toolkit, our most popular product, we’re excited to announce 3 new features that will make life easier for many LearnDash admins! Today’s 2.1 release, available to all new and existing Pro users, adds the ability to send course certificates as PDF files on course completion, a new grid option for lessons and topics, and a new attribute that makes our dashboard module a lot more flexible.

Send Course Certificates by Email

We’ve supported sending LearnDash certificates as PDF files with quizzes for a long time, but the ability to send course certificates to learners, Group Leaders, administrators and other users was a gap. In this release we’re adding support for emailing those certificates, which are triggered on course completion and sent exactly as quiz certificates would be.

course certificates settings

The functionality is largely the same as the quiz certificates function but this is set up as its own module. It can be used with or without the quiz certificate emails; there are no dependencies. For easier retrieval of certificates, you can save the files to your web server and we’re including the user’s email address in the file name. (You could also retrieve them from a user’s profile with LearnDash, of course, but this makes it easier to manage large sets of certificate files if required.)

Enhanced Lesson and Topic Grid

Our Enhanced Course Grid was one of the earliest modules in the plugin and introduced a very flexible way to organize LearnDash courses into a visual grid. But it only ever supported courses, and on almost all of our sites we were limited to pretty basic tables listing available lessons and topics. We had done some interesting things with CSS to restructure the tables as grids for some clients, but until now we didn’t have a robust grid model for wider use.

LearnDash Lesson & Topic Grid

This new module effectively brings the basics of the Enhanced Course Grid to lesson and topic tables. Instead of a flat table with text and checkmarks only, you can now show users a highly visual grid format that can incorporate featured images. The module allows control over the use of featured images and the number of columns displayed. For more flexibility, you can either enable these grids globally or add the grid shortcode to specific course or lesson pages on which you want them to appear.  You can even use shortcodes for these grids on non-LearnDash pages and posts.

LearnDash Course Dashboard

On several of our client sites we found that we had outgrown the default behaviours of the dashboard shortcode. For one thing, it was useless for signed out users—and we unexpectedly had a few clients want to use it that way. In this iteration of the dashboard shortcode, you can use a new “show” attribute to populate the table with only enrolled courses (which is the current behaviour), all courses (show everything, regardless of enrolment status), and “open”, which we’re using to show open courses to logged-out users (signed in users see enrolled courses). We think these additions will make the shortcode a lot more flexible.

We hope you enjoy the updates!

A Pro 2.0 Easter Egg!

We’ve had some great feedback on our 2.0 update to the Toolkit Pro plugin after it was released last week. It included the new Import LearnDash Users module (which is huge and essential with large user import lists) as well as lots of other improvements and new features. But did you know that it included another brand new module?

We didn’t! Oops. Due to an oversight with the move to 2.0 (and what that meant behind the scenes in our repository branches), a module we hadn’t planned on releasing yet was included. Luckily it did work and had been through testing, but we only discovered that it had been included this week.

So, now that it’s out, we’re pleased to introduce the Autocomplete Lessons & Topics on Gravity Forms Submission module! That’s a very long name for a module that does exactly what it says it will do—complete LearnDash lessons and topics on submission of a Gravity Form. The module came about because we’ve seen so many users lose their form entries on LearnDash pages. By adding a form, users then see a Submit button (for the form) and Mark Complete button (for LearnDash). It’s not always clear that Submit must be clicked before Mark Complete so that entries aren’t lost. By making this module available, we can avoid that confusion by hiding Mark Complete and having lessons and topics completed automatically on form submission.


Now that we’ve explained it and its utility, you may be wondering why it wasn’t intentionally released. That’s because we hadn’t quite figured out how to handle forms inside lessons that contain topics. We can’t complete those lessons on form submission or users would then be allowed to skip topics. But normal workflow when completing the last topic in a course is to be directed back to the lesson level, which would then show an empty form. That’s really confusing for the user, as they already saw the form previously but it will look like their submission was lost. We could have added persistent data capabilities to forms, hidden the form or something else, but every scenario seemed like it would cause complications for some subset of our clients. That’s why we just released 2.0.2 of the plugin today, which will show the form again but also exposes the Mark Complete button when it detects a previous submission and an incomplete lesson.

But we still recommend you not include forms inside lessons that have topics. 🙂 Put them in topics or standalone lessons instead.

We hope you enjoy the new module!

What Else is New in Toolkit 2.0?

The new Import LearnDash Users module may have stolen the show on Monday’s release of 2.0 versions of both the Uncanny LearnDash Toolkit and the Pro Modules add-on, but there were actually a lot of significant enhancements that deserve more attention. Some of them fundamentally change how you’ll interact with the Toolkit on your sites.

Module Settings

We’ve added a lot of new modules to the Toolkit suite since we first launched it and the settings page for it was starting to feel too busy. To make things easier to manage, we’ve added new filters for module type, module category and status. Now it’s a lot easier to see the modules in a more organized way.

Toolkit Filter

We also recognized that having to turn modules on and off and then save the changes at the bottom of the pages was causing some confusion. A lot of people expected clicking the switches alone to turn modules on and off, so that’s what we did. Now you can click the switch and you’ll get a confirmation almost immediately that the status change was saved. We know a lot of users will appreciate no longer having to worry about forgetting to click the Save button.

Enhanced Course Grid

The LearnDash official course grid has had the ability to include short course descriptions in the grid for some time now, so we figured it was time to add support to our module. When the Enhanced Course Grid is active, a Short Description field is added to course edit pages. Enter text here and it will be displayed in the course grid. The grid shortcode now also includes an attribute to show or hide this description field.

One important note here is that our implementation is different than the LearnDash one, so if you currently use the LearnDash Course Grid add-on, any descriptions entered in the field it uses will have to be resaved in our field.

Group Drip & More

There was some debate about how we were handling lesson drip date when a user was in multiple groups with different drip dates. We changed the behaviour in this release so that in this situation the user gets access to the lesson on the earliest date of the groups for which the user is a member.

Our Group Leader module previously blocked access to some ProPanel items so we have unblocked them again. We’re still uneasy showing too much in the back end to Group Leaders but this is the safest approach.

Finally, as always, there are numerous tweaks and improvements in both plugins to deliver an even better experience on your sites. We hope you enjoy the new releases!


Import LearnDash Users

The Uncanny LearnDash Toolkit is now trusted on our 4,000 LearnDash sites to improve the learner experience and make things easier for site admins. It is by far the most popular free LearnDash plugin in the WordPress repository, and our Pro modules add-on continues to bring new improvements and capabilities to LearnDash sites.

Today we’re very pleased to introduce version 2.0 of both the Toolkit and Pro modules. The free Toolkit makes configuration activities less confusing, and the Pro plugin adds one of our biggest module additions ever: the ability to import users via CSV file and add them directly to LearnDash courses and groups. If you’re asking yourself why that might be needed when there are several plugins that support importing users via CSV and adding them to groups by including usermeta values, once you see our module it will be very clear how much safer and more efficient our approach is.


The new Import LearnDash Users module, available today to all Pro plugin users at no extra cost, gives you an easy-to-use interface to choose which courses and groups to add users to. It allows custom (and optional) notification emails with lots of variables to make sure learners get the right messaging to start using your site. It adds group and course enrolment in a safe way that doesn’t risk what we call “ghost groups” with regular CSV import plugins (which add extra fields to user profiles which, on save, can incorrectly add users to groups they’re not supposed to be in). It includes extremely thorough validation steps so you know exactly what will happen on import, and then it allows you to correct your files before they’re uploaded and add unexpected data to the system. Following import, it confirms exactly what actions were taken, so you’re never guessing about what succeeded and what didn’t.

It’s a long video, but we encourage you to skim through the screencast below so you can see just how powerful and useful the Import LearnDash Users module can be.

This plugin isn’t just for adding new users to LearnDash courses and groups. It can be used as a general user import tool if you exclude LearnDash column headings. It can also be used to update user profiles or add new groups and courses to a list of users, so if you have a list of users you want to add to a new group, it’s easy to do that without affecting their existing course and group enrolment.


As with many of our plugins, this is a powerful and complex tool, so we strongly encourage you to read the Knowledge Base article and the instructions in the tool before you upload your first CSV file.

We hope you find this new addition to the Pro modules as helpful as we do! Let us know your comments and suggestions below.

New Modules for LearnDash Pro Toolkit

Yesterday we released version 1.4 of the Pro modules plugin for the Uncanny LearnDash Toolkit and it’s one of our biggest updates yet. Along with the usual suite of improvements, we introduced three entirely new modules: Send LearnDash Certificates by Email, Complete Lesson/Topic on Quiz Completion, and the Group Leader Experience. All 3 have been very popular requests and we’re very excited to be able to include them in the Pro plugin. All new features are, of course, available at no extra cost to existing users.

Here’s a screencast that outlines how the new modules and other changes work:

The biggest addition to the plugin is the ability to send LearnDash PDF certificates by email on quiz completion. Certificates can go to learners, of course, but even more exciting is that the site admin, Group Leaders, and even custom email addresses can be notified and also receive the certificate attachment. It’s a great way for managers and organizations to track staff achievements. One caveat with this module is that it works with quiz certificates only for now (not course certificates), but we know a lot of people are going to be excited about easy certificate distribution by email!


The Autocomplete Lessons & Topics on Quiz Results Page module addresses a common user experience issue on LearnDash sites–users must click a Click here to continue button to save results and be able to mark an associated lesson or topic as complete. If they didn’t, administrator intervention may have been required in order to complete associated lessons and topics properly. This module automatically marks an associated lesson or topic complete as soon as the quiz is completed so that users that accidentally forget to click the button won’t be negatively affected. (Clarification: LearnDash 2.3 did complete quizzes earlier in the workflow; our plugin allows easier autocompletion of associated lessons/topics.)

We have always found the Group Leader experience with LearnDash a bit confusing. For us, it was unusual for Group Leaders to have access to the WordPress Dashboard and back-end profile management, but not to have easy access to the courses they were managing and reports. This simple module, when enabled, grants Group Leaders access to the courses their groups are enrolled in and changes the back end user interface to something more suited to typical Group Leader functions.


Along with the modules themselves we’ve added some new organizing options for the course grid (including a fixed sorting option by menu order that ignores groupings), expiry date sorting for LearnDash Groups, better translation support and more.

If you don’t already have a copy of the plugin, make sure to check out the other modules already included in the Pro Modules plugin for the Uncanny LearnDash Toolkit!

What’s New with Uncanny Owl Plugins?

We’re continuously improving our plugins and making sure they’re the best possible products for our users. Unfortunately, sometimes we overlook communicating new features and talking about how they can make your LearnDash sites even better. Here’s what you may have missed over the last few months:

Pro Modules for Uncanny LearnDash Toolkit

In version 1.2 we added a new module to clearly label sample lessons. Out of the box it’s not always obvious to users which lessons are samples in LearnDash, so in tables that list lessons we add a very clear label and introduced controls styling that label. You can even change the text, so instead of “Sample” you could use “Preview” or “Free”. More information is available at https://www.uncannyowl.com/knowledge-base/sample-lesson-label/.

In version 1.3 we added a new quiz time control that restricts access to a quiz unless users have spent a certain number of minutes in a course. For courses where you need to prevent learners from completing a course unless they’ve spent a minimum amount of time within it, this can be invaluable. We also added some navigation controls that were removed in LearnDash 2.3 that make workflow more intuitive for learners when autocompletion behaviours are enabled. Finally, version 1.3 of the Pro modules plugin is more translation friendly.

Tin Canny LearnDash Reporting

In version 1.1 of the Tin Canny plugin, we added a new dashboard metric, CSV export options, more control over Mark Complete behaviours when Tin Can modules are present in a lesson/topic, and data for total time spent in a course (to supplement completion time. We’re very excited about all of the improvements, but version 1.2 will really change what’s possible for tracking elearning in WordPress—especially for our enterprise users. Stay tuned for most news in that area, because it will be a first for elearning in WordPress.

Coming Soon

Our next paid plugin will make it possible to manage free enrolment to courses and membership in LearnDash Groups in a much more polished and accurate way. We don’t want to give too much away just yet, but watch for an announcement in the next month. The new plugin represents the accumulation of months of development and has been used very successfully on 5 client sites.

Is there something you’d like to see next in the Pro plugin? The list below includes features we’re considering for the next release. Let us know what you would like most!

If You Use Our Plugins

If you run one of the 2,500 LearnDash sites using our plugins, we could really use your help to make them even better.

First, we field a lot of support requests. If we’ve helped you with a question, it’s always extremely useful when you let us know if our guidance worked, especially if you posted on the WordPress.org support site.

Second, if you do use the free Toolkit, let us know how it helped your site by leaving a review in the WordPress repository. We do read them all and always appreciate feedback.

Create a LearnDash Site in 1 Hour

Creating your own WordPress LMS with LearnDash doesn’t have to be a complicated ordeal that takes weeks or months (and endless frustration) to set up. If your needs are simple, it’s entirely possible to have your platform set up and working well in under 1 day. In our most recent screencast, we run through all the most important steps in an hour, from setting up hosting to installing plugins and building an intuitive learner experience.

This demo platform does rely on a few key plugins and paid tools to make things a lot easier. Doing this with a free theme and your own plugins is possible, but site creation take many, more times longer. The first paid item we use is the University theme, and we added it because it takes care of styling LearnDash and WooCommerce elements so that you don’t have to spend hours fiddling with CSS and template files (which may not be styled at all with some things). I will add the disclaimer  that we don’t use the University theme at Uncanny Owl, but that’s because we can take care of our own styling and work with something more flexible. For beginners and fast projects, however, ease of use and ready-made styles are a lot more important that flexibility.

The LearnDash plugin itself is of course a requirement, and paired with both our free Uncanny LearnDash Toolkit and the associated Pro modules, it’s easy to build intuitive learner workflows and helpful pages in a few minutes. LearnDash and out Pro modules are paid plugins, but they both really are invaluable in building LMS platforms with WordPress.

The site in our demo is hosted on WP Engine. For beginners, we can’t understate how important it is to have hosting that’s easy to use and well supported. This is our main reason for doing the demo with WP Engine. Everything that’s needed is cleanly laid out and everything just works, including automatic daily backups, proactive security, a CDN, caching, a Staging site (that works seamlessly with SSL, unlike some other WordPress hosts), and much more. The difference for a novice WordPress users on WP Engine vs. a generic shared host with cPanel is like night and day.

We created this screencast to target enthusiastic DIY LearnDash and new WordPress users. We especially hope that it helps the people that aren’t able to use our consulting services (perhaps because of time, budget, location, or other considerations). For those users, we really hope the video helps you get your site off the ground.

Add Sample Lesson Labels in LearnDash

Version 1.2 of the Uncanny LearnDash Toolkit Pro has been released, and with it a new module: customizable labels for sample lessons.  If you’ve offered sample lessons for your closed courses, you’ll know that LearnDash’s differentiation between sample and non-sample lessons is quite subtle.  This module adds a visual “Sample” label, and the module settings let you customize the text, colors and size of the label.


Visit the knowledge base for full details.

We’ve also included a number of updates and fixes in this release, including better print styles for the learner transcript module and better support for long course names in the course dashboard.

Head over to the downloads page to see the full changelog for version 1.2.

Branding for LearnDash Groups

Do you sell courses to organizations? If you do, you probably wish there was an easier way to tailor your course and site branding to your clients without having to use multisite or cloned courses. With today’s release of a new Pro branding module for LearnDash Groups, you can easily deliver organizational branding right inside your existing courses!

group_logoOur new branding module adds 2 important features to LearnDash sites: group logos and front-end group lists. After adding a logo to LearnDash groups, just add a shortcode anywhere you want users to see the logo associated with their group. It might be a learner dashboard, a contact page—it could even be in the header of your site. How much would your clients like their users to see branding associated with their organization? It’s completely dynamic, so users will only see the logo for the group they’re a member of. If you use our Group Registration module, you can even display the logo for the associated group on the user registration page. It helps users validate that they’re on the right page, and it helps your client organizations deliver the right branding for their users—all without multisite.

Our shortcode for group listings seems simple at a glance, but it’s actually an extremely powerful way to give courses the feeling that they were created just for an organization’s users. What the shortcode does is list the user’s LearnDash Group on the front end. Let’s suppose that a site has 2 users, Ryan in a group called “Uncanny Owl” and Ken in a group called “LearnDash”. Inside one of the course lessons we include the phrase, “At [uo_group_list], we embrace diversity.” When Ryan views the lesson, he would see “At Uncanny Owl, we embrace diversity.” Ken, on the other hand, would see “At LearnDash, we embrace diversity.” We’re very excited about using this new shortcode on client sites to deliver the experience of branded courses without the hard work and complexity that usually goes along with it.

Introducing the Uncanny LearnDash Toolkit Pro Modules

Earlier this year we released our first public plugin to the WordPress Repository. The Uncanny LearnDash Toolkit has developed a huge following since its release, with over 1,000 active installs and over 4,000 downloads, and we wanted to take that foundation and add a number of new capabilities that would help LearnDash site owners really take their learner experience to the next level.

The Pro set of modules for the Uncanny LearnDash Toolkit is our first paid plugin and represents the culmination of hundreds of hours of internal development time. The new modules are considerably more complex than what’s in the current plugin, but they’re also very powerful and fundamentally change what’s possible with LearnDash sites.

Here are the modules included in the initial release of the Pro plugin (usage instructions are left to our Knowledge Base articles in the links because of module complexity):

Autocomplete Lessons and Topics: As simple as it sounds, this module marks lessons and topics as completed when the page is visited so learners no longer have to click Mark Complete on lessons and topics.

Simple Course Timer: Adds time tracking to LearnDash courses. Both total course time (across course, lesson, topic and quiz post types) and course completion time are recorded as learners complete learning activities. Results are added to LearnDash reports and can be displayed to users via shortcodes.

LearnDash Group Expiration: Expire course access for LearnDash Groups by calendar date. On a specific date, all courses can be removed from a LearnDash Group (revoking access for associated users), making it easier to sell courses to organizations and remove access automatically.

Enhanced Course Grid: This module provides an alternative way to display courses in a grid-based system that’s particularly useful to signed-in users. It’s extremely flexible.

Course Dashboard: We took the basics of the ld_profile shortcode but modified the design (and content) to fit seamlessly into typical landing pages for learners.

Learner Transcript: This report shortcode generates a printable view of user progress across all LearnDash courses. It’s a better way for learners to share their accomplishments offline and with other parties.

Duplicate Pages and Posts: A simple module that clones LearnDash post types, but with proper support for quizzes and quiz questions. With this module you can skip the export/import quiz steps normally recommended.

Days Until Course Expiry: Show learners the number of days until access expires (rather than the calendar date available with LearnDash).

Drip Lessons by LearnDash Group: Set specific drip dates for every LearnDash group instead of every group being bound to the same dates.

LearnDash Table Colors: Adds a simple way to restyle LearnDash course, lesson, quiz and dashboard tables by changing the colors of the header background and text.

LearnDash Group Registration: Adds a front-end registration function for adding users to both WordPress and LearnDash Groups at the same time. It even supports users switching groups or adding additional groups to a user from the front end. Gravity Forms or Theme My Login are recommended for this module but not required.

The Pro plugin requires PHP 5.3 or higher, LearnDash 2.1 or higher, and the Uncanny LearnDash Toolkit version 1.3 or higher. These 3 things are really important, so please make sure your site is updated before you purchase and install the Pro modules!

Some of the new modules are reasonably complex, and it’s very important that you read the Knowledge Base articles and watch the screencasts before you start using the plugin. If you do run into any problems or questions, send us a note!

We hope you like the new Pro modules and that they help to improve your LearnDash sites!

Uncanny LearnDash Toolkit Pro

Introducing the Uncanny LearnDash Toolkit

We are very pleased to announce the Uncanny LearnDash Toolkit, our very first plugin in the WordPress repository. This plugin is a collection of some of the key basic features we see requested on LearnDash sites that usually require a custom solution. We created this plugin to make it easier for general LearnDash users to get a head start with their LearnDash sites.

The plugin, at least for its initial release, makes it easy to do the following:

  • Add a clean login form to any page so you don’t have to rely on wp-login.php.
  • Force user verification, so users can create accounts but can’t sign in until approved by an administrator.
  • Hide the admin bar for WordPress roles of your choice.
  • Add a button anywhere that lets users resume their most recently viewed course, lesson or topic.
  • Display a user’s list of LearnDash Groups in their user profiles.
  • Redirect users to a specific page after logging into the site.
  • Mark lessons as complete automatically when all topics and quizzes within the lesson have been marked complete.
  • Hide or show menu items based on the user’s signed-in state.
  • Display a list of earned LearnDash certificates.
  • Show or hide content based on a user’s signed in state.
  • Display a list of certificates in a widget.

Yes, it’s a lot of functionality. We designed it to be lean though, and it’s really easy to turn on only the specific features you need. Every feature has an on/off switch so you can use the plugin  as much or as little as you want. For the developers out there, we’ve added some hooks and translation features that should make your customizations easy (we’ll follow up with another post with some of the cool things you can do with filters).

Uncanny LearnDash Toolkit

Before I jump into a detailed overview of each feature and how to use it, there are 3 very important things to remember. First, this is the first release of a complex plugin, so there could be issues. We invite feedback, and in fact, we’ll be opening up the git repository so you can suggest changes. Second, the plugin offers a lot of capabilities, so to maximize performance, we made it possible (and easy) to turn functions on and off. By turning functions off the associated code will not run and there won’t be any performance hit; as such, we recommend turning features off that you don’t need. Third, very little styling is included so that the plugin styles inherit whatever has been set up for the theme and LearnDash. Our aim was to keep things consistent with your current system and easy to style with CSS rather than introduce new styles.

With that out of the way, here’s a video that outlines exactly how the plugin works and how to use each of the features included in it.

Detailed Feature Overview

Front End Login


This function lets you put login forms anywhere on your WordPress site; it also allows you to restrict access to verified users. To use this feature, turn it on so that the green ON switch is displayed. Once enabled, several features become available: a [uo_login] shortcode for login from any page; a [uo_login_ui] for the default login page (which replaces wp-login.php and must be defined in the feature settings) and user verification.

Let’s start with verification. If enabled in the Settings (click the Gear icon to turn this on), users that register from the front end MUST be manually approved by an administrator before they can sign in. This field must be checked for it to work. Once set and saved, a “Verified” column will be added to the list of users in WordPress. Any users listed as “Not Verified” cannot sign into WordPress. To verify a user, navigate to the user’s profile and look for the “Verify User” label. By selecting this field and saving the page, the users will be able to sign in. On verification, users will also be notified by email that the account has been verified and access has been granted. If you turn this feature on, make sure you verify all existing users, including administrators!

The [uo_login_ui] shortcode allows you to replace the default wp-login.php page with your own branded page. To set this up properly, we recommend creating a page first and adding the [uo_login_ui] shortcode to a page. Once that’s done, return to the Uncanny Toolkit settings page and open the settings for Front End Login. Choose the page you added and save the settings. Once this is set up, users will be directed to the new branded login page instead of wp-login.php. Both the shortcode and the page must be set up for this to work properly. The login page must also be set up for the user verification to work.

To add a simple login form to any page, use this shortcode example: [uo_login]content if logged in[/uo_login]. That allows you to add the form and include a special message to users seeing the form area that have already signed in.

admin_barHide Admin Bar

This very simple function turns the black admin bar at the tops of pages off for any roles that you don’t want to have access to it. Typically this might include Subscriber and Customer roles.

LearnDash Resume Button

When turned on, this function stores the last LearnDash page that every learner visits. To use make this available to learners, add the [uo_learndash_resume] shortcode to any page. This will create a button that, when clicked, will take the user to the most recently accessed course, lesson or topic.

LearnDash Groups in User Profiles

As the title says, this feature adds a row to backend user profiles that shows a list of LearnDash Groups for which the user is a member. This makes it a lot easier to troubleshoot course permission issues on sites with many LearnDash Groups.

Login Redirect


By turning this feature on and setting a redirect URL in the Settings window, you can easily send users to any URL after login. If the URL field is left blank than users will be directed to the homepage. This feature is a great way to make sure learners are directed to a dashboard or course page immediately after signing in. Note that the redirect does not apply to administrators.

Topics Autocomplete Lessons

Have your learners ever gotten confused when they’re directed back up to the lesson page after completing all topics in the lesson? Ours too. It means they’re seeing the lesson page twice and have to mark it complete the second time, which isn’t always obvious. What this function does is run a check when a topic is completed to see if it’s the last incomplete topic in a lesson, and if it is, the lesson is marked complete automatically and the learner is navigated to the next lesson page. It may only save a click, but it can really help to simplify navigation and reduce confusion.

Menu Item Visibility

It almost always makes sense to show different content to signed-in learners and anonymous visitors. Learners need access to things like a course dashboard, profile management and account details; those things aren’t relevant to people that aren’t signed in. Turning this feature on adds a simple control for WordPress menus: each entry can be visible to everyone, visible to signed-in users only or visible to signed-out users only. We kept it light, so there are no controls by role or other attributes, but this should be good enough for most sites without requiring a heavy plugin.

Show LearnDash Certificates

Ever wish you could easily show a list of earned certificates? The [uo_learndash_certificates] shortcode makes it easy. Drop the shortcode anywhere to show a list of earned certificates, with the most recently earned at the top. To style the container, use [uo_learndash_certificates class=’my-class’ title=’my-title’], where my-class is a CSS class and my-title is a title for the element.

Show or Hide Content

This feature allows you to show any content you want to either logged in users OR logged out users. Here are 2 examples of how to use the shortcodes:

That example would display the text to users that are signed in. This might be useful in an Open course to display special bonus content, like a video or download.

Show content for logged out users

That example will display the content for users that aren’t signed in. This is helpful for calls to actions and other marketing that isn’t relevant to signed-in users.

LearnDash Certificate Widget

This feature is just like the Show LearnDash Certificates function above but it makes it available as a widget. This is a great addition to navigation sidebars on LearnDash pages and learner dashboards.

That’s it for the first iteration of the Uncanny LearnDash Toolkit!

We really hope you find it useful.

Click here to view the Uncanny LearnDash Toolkit in the WordPress Repository. Please note that it does require PHP 5.6, as recommended by WordPress.

v1.1 Update April 8, 2016:

Log In/Log Out Links

Screenshot_040816_105703_AMWe’ve added a really handy feature for adding log in and log out links to your menu, widgets, or posts!

Once activated, you’ll see a panel called “Uncanny Menu Links” in your menu sidebar.  You can add a Log In link, a Log Out link, a link that automatically switches between Log In and Log Out depending on whether the user is logged in or out, or a link to your Register page.

To add the links to a widget or post, use the shortcodes below:

  • [uo_login] : Log In link
  • Logout : Log Out link
  • Log In : Log In / Log Out link
  • Register : Register page link

v1.2 Update April 12, 2016:

Breadcrumb Links

breadcrumbsWe’ve incorporated our breadcrumb link plugin into the Toolkit and improved how it works.

After enabling the module, you can use a 

shortcode wherever you want breadcrumb links to be displayed. If you want to include the breadcrumbs in a header template instead, use <uo_breadcrumbs()> in the PHP file.

Out of the box, breadcrumbs for LearnDash are displayed in the following format: Home > (Course Archive Page) > (Course Name) > (Lesson Name) > (Topic Name). Since most LearnDash users will prefer a dashboard (like a page with a profile shortcode, course grid or something custom), we added fields in the Settings panel for this module that allows you to define the dashboard page name as well as the page to use. When these 2 values are set, the dashboard will replace the course archive page in the breadcrumb links. You can also change the separator in the settings (and even include HTML if you want to use Font Awesome or something similar).

Because breadcrumbs just require a shortcode, you can use them inside LearnDash posts, in the sidebar, or anywhere else you want. We do also include WooCommerce support, but associations may not work as well for other post types.