Two Factor Authentication for LearnDash Login Forms

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

Easy 2FA for WordPress sites

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

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

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

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

Two Factor Authentication code verification for WordPress

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

 

2FA for WordPress

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

Other changes in Uncanny Toolkit 3.5

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

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

Uncanny Codes 4.0 for WordPress

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

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

Introducing Uncanny Codes 4.0

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

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

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

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

Seamless Uncanny Automator integration

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

Codes for WordPress trigger

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

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

Actions for WordPress code redemption

Sell Codes for WordPress

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

Sell codes with WooCommerce

 

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

More Form plugin support

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

Codes for Formidable Forms

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

A new way to generate codes

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

Generate codes for WordPress

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

Let’s talk about Uncanny Automator Pro

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

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

Check code redemption status

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

[uo_user_redeem_code check_only=”yes”]

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

Try Uncanny Codes

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

Uncanny Groups 3.10: Easier classroom management

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

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

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

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

Password field in Add Users

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

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

Student passwords for LearnDash Groups

There are some caveats:

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

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

Improved WooCommerce order autocompletion

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

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

Autocomplete LearnDash group orders

Better links between groups and orders

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

 

Fixes and updates

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

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

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

Tin Canny 3.6: Microlearning for LearnDash xAPI & SCORM courses

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

Single page xAPI & SCORM LearnDash courses

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

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

LearnDash Single Page Course

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

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

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

Customizable user details in reports

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

User settings in Tin Canny reports

Sort all columns in the User report

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

Sort LearnDash user report columns

Other Tin Canny 3.6 changes

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

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

As always, the full changelog is available at https://www.uncannyowl.com/knowledge-base/tin-canny-learndash-reporting-changelog/

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

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

Group Drip notification changes

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

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

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

LearnDash Group Drip Lesson Notifications

Custom usermeta in LearnDash CSV reports

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

Here’s what it looks like:

Usermeta in LearnDash CSV reports

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

Certificates in LearnDash Transcripts

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

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

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

LearnDash Certificates and CEUs in Transcript

Custom Credits in LearnDash Transcripts

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

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

Group expiration shortcode

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

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

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

Other changes

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

Uncanny Groups for LearnDash 3.9 Update

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

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

BuddyBoss Social Group sync

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

BuddyBoss Groups Sync with LearnDash Groups

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

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

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

Support for semicolon delimited CSV files

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

Performance improvements for LearnDash Groups

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

Show legacy LearnDash group data

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

Legacy LearnDash course data

Uncanny Groups 3.9 updates and fixes

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

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

Award historical credits for LearnDash courses

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

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

Capture historical completion records

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

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

Generate Continuing Education Credits for LearnDash

Here’s how the new feature works:

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

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

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

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

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

Single Page LearnDash Courses now available

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

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

The Single Page Course module

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

Here’s how it works behind the scenes:

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

LearnDash Single Page Course

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

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

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

Other updates in Toolkit Pro 3.6

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

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

The Autocomplete Lessons & Topics on Gravity Forms Submission, Simple Course Timer, Import Users and Group Forums with bbPress modules also get some fixes in this release; make sure to check out the changelog at 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.

Award CEU credits for anything!

Today’s 3.1 release of the Uncanny Continuing Education Credits plugin is probably our biggest change to that plugin in the past year. It adds a number of changes based around this concept: credits can be awarded for anything.

Yes, it is still a LearnDash plugin and does still require LearnDash. Credits are no longer tied to LearnDash courses, however. Admins can now add and remove credits for anything they want—that might be a classroom training session, attending a virtual event, completing third-party training, etc. There are no limits to how this might be used.

Add and delete continuing education credits

Here’s what users will now see when adding credits from the Credits Report:

Uncanny Course Report: Add CEUs

From this page, you can choose a user to assign credits to, the number of credits, the date and time for the credits, and whether or not the credits are for a LearnDash course. If they are, you can choose to mark the course as completed when you assign the credits. If the credits are not for a LearnDash course, you can assign a label to the credits so they’re easy to identify in reports. (For LearnDash courses, the title is automatically the course name.)

Deleting credits is easy too, just selected credit entries in the report and click the Delete credits button.

Uncanny Automator integration

We added preliminary support for Uncanny Automator in the previous release of the Continuing Education Credits plugin, but with the new changes to support adding and removing credits the opportunities have really expanded. These 2 major changes, support for adding and removing any credit types plus Uncanny Automator integration, really move this plugin beyond LearnDash. Credits can now be triggered by submitting a form, earning a badge, making a donation, attending a live event, or really anything else at all that you can think of. And with Automator recipes, all of this happens automatically, no development or manual intervention is required.

Uncanny CEUs and Uncanny Automator

The screenshot above shows what this looks like in practice. Yes, this means you can award credits for anything in LearnDash too: passing a quiz, completing a lesson, submitting an assignment and more. Another interesting thing in the release is that the new custom credits, and credits awarded by Automat recipes, can trigger our multi-course and multi-credit certificates.

Other updates

This release probably gives you an  idea of where we’re headed with this plugin and all of the exciting things that will be possible. It’s also an important release because it fixes an issue with changes to LearnDash PDF generation and it improves compatibility with the latest WordPress versions. For those reasons, this update is strongly recommended for all users of our plugin.

Do you have some interesting use cases for how you’ll connect Automator recipes to continuing education credits? Let us know in the comments!