1. Home
  2. Knowledge Base
  3. Uncanny LearnDash Toolkit Pro
  4. Email Course Certificates


The Email Course Certificates module is part of the Pro Suite of modules for the Uncanny LearnDash Toolkit. Out of the box, LearnDash supports dynamic generation of a certificate after successful completion of a course, but the certificate must be viewed online or downloaded to the user’s computer. This Pro module extends LearnDash functionality to attach a certificate to the email that is sent to the user upon the successful completion of a course. The certificate email can also be sent to site administrators, group leader(s) or any number of related users.

*This is a global module and cannot be enabled or disabled for a specific course. This module will send out an email with the certificate .pdf attached for any course that has an associated certificate.

Module Settings

This module by default stores certificates on server.  This option can be disabled by checking Do not store certificates on server.

If you want a copy of the certificate sent to the Site Admin and/or Group Leader(s), simply check the respective boxes.  You may also include CC’d users in the CC Certificate To field.

The Email Subject & Email Body fields control the email content.  Tokens are available and listed just below the Email Body field.

In version 3.0.4, a Use Cron to send certificate setting was added.  This setting should only be checked if you are having issues with shortcodes not outputting the correct data in the emailed certificates.  Otherwise it should be left unchecked.

Click the Save Settings button to save your settings.

Overriding the certificate save location

For advanced developers, there is a filter available to modify the save location of the certificates:

 * @param $path
 * @return string
function update_uo_course_certificate_save_path( $path ) {
   $new_path = ''; //New root path, absolute path
   return $new_path;

add_filter( 'uo_course_certificate_save_path', 'update_uo_course_certificate_save_path' );

Overriding the certificate file name

For advanced developers, there is a filter available to modify the filename of the generated certificates:

* @param $file_name
* @param $user
* @param $course_id
* @param $certificate_post
* @param $timestamp
* @return string
function update_course_certificate_filename( $file_name, $user, $course_id, $certificate_post, $timestamp ) {
$user_id = $user->ID;
date_default_timezone_set( 'America/New_York' );
$current_date = date( 'Y-m-d' );

return "{$user_id}-{$course_id}-{$current_date}";

add_filter( 'uo_course_completion_certificate_filename', 'update_course_certificate_filename', 20, 5 );


Was this article helpful?

11 replies
    • Ryan
      Ryan says:

      We’ll consider the changes for a future release, but I’m afraid we can’t promise anything. Right now we haven’t had many requests for either change, but certainly there is value for some users in adding those.

  1. Bobbie
    Bobbie says:

    90% of the SETTINGS button doesn’t work to open the UI. I need to make changes, but can’t get to the settings screen.

    • Ryan
      Ryan says:

      Hi Bobbie, we unfortunately can’t provide support in the Knowledge Base, but please do log a ticket or send us an email so we can help. There is no known issue related to this; it’s likely a javascript conflict on your site. When you open a ticket, make sure you let us know exactly what you’re seeing when you’re trying to open and save settings. Also check the javascript console (View > Developer > Javascript Console in Chrome) to see if any errors are output there.

  2. Marco Moncalvo
    Marco Moncalvo says:

    Hello, I changed the text in the mail body, but it keeps sending a message in english (i wrote a custom one in tialian)

  3. David Crim
    David Crim says:

    Hi Ryan or UO friends!,
    We’re suddenly noticing that emailed certificates from Course Completions do not include the Student’s First and Last Name ([usermeta field="user_firstname"] [usermeta field="user_lastname"]), but are showing up correctly in the users’ accounts. We have recently been making some changes related to our checkout which have caused some frustrations in this area, so it may not be related to UOLTP, but I did notice in your recent changelog that you’ve created a cron job for this service on large sites (like us).
    Prior to digging deeper in other areas, I wanted to check and see if the issue of missing Student Names in certificates is possibly one of the symptoms you saw with other users that led you to create the cron job option? I’d appreciate it if you could let me know.
    Thank you!

    • Ryan
      Ryan says:

      Hi David,

      We did build that new cron system because of shortcode rendering issues we saw on a few sites, but not usermeta shortcodes. In all cases they were custom shortcodes only populated after course completion, later than we could hook in for the email. Switching that setting might help in your situation, but it might not. If it’s not, submit a ticket and we can take a look at what might be happening.

  4. Chrissy
    Chrissy says:

    With this feature is there anyway to only set it that it be emailed for specific courses? I have a situation where some courses we will send the certificate manually after review of material, and other courses they can receive the certificate right away.

    • Ryan
      Ryan says:

      I’m afraid there’s no way to set the behaviour for individual courses. If the module is on and courses have a certificate assigned, the email will go out. You could potentially work around it by ending courses with a quiz that has to be graded by a reviewer to trigger course completion, or potentially have code that suppresses emails if it detects the certificate will be sent for a course that shouldn’t get the certificate. Note though that even without the email (unless you’ve done a template override), users can still get the certificate themselves from the course page after course completion.

  5. Chrissy Miller
    Chrissy Miller says:

    Thanks for the info! My developer is able to code it that the course certificate will only show after course completion for specific courses so we found a workaround



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

Leave a Reply

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