LearnDash Notifications

Notification Add-on

About

This add-on enables a new level of learner engagement within your LearnDash courses. Configure various notifications to be sent out automatically based on what learners do (and do not do) in a course.

This is a perfect tool for bolstering learner engagement, encouragement, promotions, and cross-selling.

Click here to read the official add-on announcement.

Add-On Features

Automatically Send Notifications – When learners perform certain actions on your LMS the notifications will automatically be sent out based on the settings you configure.

13 Available Triggers – Send notifications based on any of the triggers below. The triggers can be configured for a specific course/lesson/topic/quiz, or they can be “global”.

  • User enrolls into a course
  • User completes a course
  • User completes a lesson
  • A scheduled lesson is available to a user
  • User completes a topic
  • User passes a quiz
  • User fails a quiz
  • User completes a quiz
  • An assignment is uploaded
  • An assignment is approved
  • User hasn’t logged in for “X” days
  • “X”days before a course expires
  • Essay question has been put into graded status

Delay Notifications – The notifications can be sent immediately or you can configure a delay (in days) for when the message should be sent.

34 Dynamic Shortcodes – As you choose your notification triggers you are presented with dynamic shortcodes that you can use in your message to automatically display things like course information, user details, lesson title, quiz scores, etc.

Choose Recipients – The recipients of the notifications can be the User, the User’s Group Leader, and/or the site Admin.

Changelog
August 7, 2020 – V1.4.1

  • Updated delay field unchangeable for edit to prevent issue with delayed emails
  • Updated use of global delete function instead of create new queries in delete functions
  • Updated remove learndash_notifications_delete_delayed_emails_when_unenrolled hooked function because it already exists in includes/database.php
  • Updated use of learndash_get_users_for_course() to pull course users instead of access list meta only
  • Fixed lesson available notification not queueing multiple notifications in DB if there are more than 1 notifications posts
  • Fixed regex pattern for searching notifications by shortcode data key value pair

July 14, 2020 – V1.4.0

  • Added trigger in email header for essay and comment notification so its content can be filtered using wp_mail filter hook
  • Added default charset and collate for DB table creation
  • Added course enrollment notification trigger via course group addition workflow
  • Added lesson_id and topic_id to quiz triggers email sending function
  • Added quiz submitted trigger and add set global quiz result function
  • Added submit essay trigger
  • Added filter to decide whether to send notification or not
  • Added filter to disable not logged in notification for all courses
  • Added bcc to the fix recipient tool
  • Added categories result output to quiz shortcode, bump
  • Added undefined shortcode atts in send_delayed_emails() function
  • Added filter hook to allow filter comment notification recipients
  • Added default value to notification param in learndash_notifications_get_recipients_emails()
  • Added documentation text for course enrollment trigger via group
  • Added filter hook for course expires notification
  • Added bypass_transient param to ld_lesson_access_from() call
  • Added empty DB table tool
  • Added custom file debug function
  • Added filter hook to modify email subject and content
  • Added topic support for approve and upload assignment trigger
  • Added add resend missed scheduled notifications function and remove delete_delayed_emails from hourly cron
  • Added add lesson available notification handler for users enrolled via group
  • Added action hooks to several functions and add logger to log actions
  • Added empty db table tool confirmation
  • Updated code section with set global function
  • Updated trigger text label
  • Updated shortcode attribute check logic
  • Updated default charset to utf8mb4 and bump DB version for update
  • Updated update DB column data types
  • Updated backward compatibility with PHP < 7
  • Updated filter duplicate emails from recipient emails
  • Updated to not allow notifications with empty recipients to be stored in DB
  • Updated to allow emails to be sent even when the recipient is empty
  • Updated to move subscription notice to subscription manager class using email content filter hook
  • Updated to bail sending essay/assignment comment notification only if it’s already marked as spam
  • Updated to add expired course check logic in not logged in trigger notification
  • Updated ti delete lesson available scheduled emails if access date has passed the current time
  • Updated to add bypass transient param for LD functions related to getting group IDs
  • Updated to not wpautop email content if it’s HTML email
  • Updated re-merge essay submitted and quiz submitted trigger
  • Fixed format attr value is not taken in ld_notifications shortcode
  • Fixed miscellaneous PHP errors
  • Fixed group_users data doesn’t retrieve the latest users
  • Fixed recipient tool by deleting duplicate emails with the same recipient and shortcode data
  • Fixed scheduled notification recipients tool
  • Fixed scheduled notification recipient update
  • Fixed typo on course ID
  • Fixed enroll course via group trigger
  • Fixed quiz trigger send all notifications to user if admin mark a quiz as completed
  • Fixed group leader recipient for group enrollment trigger
  • Fixed PHP warning in learndash_notifications_course_expires_after()
  • Fixed SQL regex pattern to prevent duplicate scheduled notifications
  • Fixed HTML tag stripped in notification content
  • Fixed add error_reporting to update lesson available cron function
  • Fixed missing args quantity argument in add_action call
  • Fixed assignment and essay comment notification sent to all admins
  • Fixed aggregate and cumulative time-spent shortcode value because of formatted number
  • Fixed shortcode output for cumulative value
  • Fixed undefined index array key
  • Fixed shortcode attr for completed on date, aggregate and cumulative points field because quizzes use new meta key name
  • Fixed aggregate_timespent shortcode value always return small number
  • Fixed DB syntax error because of unescaped single quote in regex pattern
  • Fixed regexp pattern when deleting notifications by multiple shortcode data key value pairs which results in notifications not being able to be scheduled in DB for some users
  • Fixed subscriptions manager page URL doesn’t work for sites with unique permalink format
  • Removed testing.txt from tracked files

August 29, 2018 – V1.3.0

  • Added trigger for after the course expires
  • Added filter hooks for custom trigger and functions
  • Added course ID and lesson ID to the notification setting fields for upload and approved assignment trigger
  • Added status tab to the notifications menu
  • Added translation class
  • Added cron function to update lesson available notification in the database
  • Added default blank value to the AJAX empty select option
  • Updated default comment notification to be disabled for assignment and essay
  • Updated SQL in CRUD functions
  • Updated delete delayed emails to hourly cron
  • Updated send scheduled emails function
  • Updated group leader recipient logic
  • Updated course completed check to enroll course notification trigger
  • Updated lesson available notifications to prevent sending multiple times
  • Updated lesson available scheduled emails function
  • Updated dequeue autosave for notification post type
  • Updated to hide minor and miscellaneous publishing action widget for notifications
  • Updated user deletion LeanrDash data cleanup to hourly cron
  • Fixed SQL syntax error
  • Fixed assignment essay comment left trigger
  • Fixed scheduled notifications to be sent only after the notification timestamp passes the current timestamp
  • Fixed lesson and topic URL shortcode returned values
  • Fixed logic to exclude unenrolled users
  • Fixed logic to prevent sending notification is ID is not numeric
  • Removed course completed check on essay graded notification

December 4th, 2017 – V1.2.0

  • Added submit disabled fields function
  • Updated course expiration notification to hourly cron
  • Updated legacy notification blank fields hidden
  • Fixed error notice

November 7th, 2017 – V1.1.0

  • Updated to be compatible with LearnDash v2.5
    Notifications V1.1.0 will not work with older versions of LearnDash
  • Updated learndash_usermeta_userid function hook to customize userid for notification purposes
  • Updated shortcode priorities to make sure they are registered
  • Updated delete delayed emails when post deleted function
  • Updated metabox field and added JS function to update select field values when trigger is changed
  • Updated save metabox function
  • Updated to include submit disable fields function
  • Updated to include JS and PHP AJAX logic to retrieve and display child field values
  • Updated cron parameters
  • Updated to bcc to normal email address
  • Fixed undefined index of sfwd-courses_expire_access_days
  • Fixed assignment comment notification
  • Fixed undefined variable notices
  • Removed trigger field and sub field edit once notification is created
  • Removed course complete check
  • Removed send check for each email address

August 16th, 2016 – V1.0

  • Initial release

Pricing: FREE

Documentation

Author

LearnDash

Add-On Terms

Unlimited support & upgrades for active LearnDash licenses.