Home › Docs › Setting up LearnDash Certificate Expiry

Setting up LearnDash Certificate Expiry

Updated September 24, 2026

On this page Where everything lives 1. Set how long the certificate is valid 2. Set up the course 3. Paid certificates 4. Reminder and notification emails 5. The public verification page 6. Put the QR code on the certificate 7. Let students see their own status 8. The Certifications screen Troubleshooting

LearnDash Certificate Expiry gives each student’s certificate its own expiry date, counted from the day they complete the course. This guide walks through setting it up from scratch. Allow about fifteen minutes, most of it spent on the email wording.

Where everything lives

  • LearnDash LMS → Certificate Expiry: the Certifications screen plus tabs for Payment & Unlock, Email Settings, Verification & Sharing, Shortcodes, Data and License.
  • On each LearnDash certificate (LearnDash LMS → Certificates → edit): how many days the certificate stays valid, and the WooCommerce product that pays for it.
  • On each course (the course edit screen): which certificate the course awards, and the rules for that course.

1. Set how long the certificate is valid

Open the certificate under LearnDash LMS → Certificates and set Valid for (days), for example 365. Use 0 for a certificate that never expires.

This lives on the certificate, not the course, so every course that awards this certificate uses the same validity period. If two courses need different periods, give them different certificates.

2. Set up the course

On the course edit screen, find the Certification settings:

  • Certificate: choose the LearnDash certificate this course awards.
  • When should the certificate be granted? Immediately, for free (the default); Only after payment (Paid Certificate); or Only after admin approval (Manual Approval).
  • Also remove the student from this course when the certificate expires: tick this if an expired certificate should also end course access.
  • Reminder schedule (days before expiry): comma-separated, for example “180,90,60” (the default) or “30,7”.
  • Show a verification QR code on this certificate and Allow this certificate to be exported as an OpenBadge.
Certification settings on a LearnDash course
Certification settings on the course edit screen

From then on, every student who completes the course gets a certification that starts that day and expires after the certificate’s validity period.

3. Paid certificates

For courses set to Paid Certificate, choose the product on the certificate itself: WooCommerce product that unlocks this certificate. The student completes the course, the certificate waits as “pending payment”, and it’s released when they pay.

Then open the Payment & Unlock tab:

  • Order status(es) that unlock the certificate: Completed by default. As soon as an order reaches a ticked status, every certificate its items pay for is granted.
  • Auto-unlock for online payments: card, PayPal, Stripe and other gateways where payment is confirmed electronically.
  • Auto-unlock for offline payments: bank transfer, cheque, cash on delivery. Leave this off if you’d rather check those payments by hand before releasing the certificate.
Certificate Expiry Payment & Unlock settings
The Payment Unlock tab

4. Reminder and notification emails

The Email Settings tab holds every email the plugin sends: the 6-month, 90-day and 60-day reminders, the expired notice, the payment-received notice, and the weekly digest for admins. Each has its own subject and body.

Certificate Expiry email templates
The six email templates

Placeholders you can use include {student_name}, {course_name}, {expiry_date}, {days_remaining}, {renewal_link}, {admin_contact_email} and, in the digest, {site_name}, {expired_count} and {expiring_count}.

The reminder names say 6 months, 90 days and 60 days, but they follow each course’s reminder schedule. If you set a course to “30,7”, its reminders go out 30 and 7 days before expiry.

Emails are sent by WordPress, so they’re only as reliable as your site’s mail setup. If reminders go missing, set up an SMTP plugin first.

5. The public verification page

  1. Create a page (for example “Verify a certificate”) and add the [learndash_certificate_expiry_verify] shortcode.
  2. On the Verification & Sharing tab, choose that page as the page hosting the verification shortcode.
  3. Tick the networks students can share to: LinkedIn, Facebook and X.
Certificate Expiry Verification & Sharing settings
Verification Sharing settings

Every certificate now has a unique link that can’t be guessed. Anyone who opens it sees the holder, the course and the current status: active, expired or revoked.

Public certificate verification page
A public verification page

6. Put the QR code on the certificate

The QR code isn’t added to the PDF automatically. Open your certificate in LearnDash, add the [learndash_certificate_expiry_qr_code] shortcode where you want the code to print, and save. It links to that certificate’s verification page, so a printed certificate can still be checked.

LearnDash certificate with verification QR code
A LearnDash certificate with the verification QR code

7. Let students see their own status

Add the [learndash_certificate_expiry_status] shortcode (or the Certificate status block) to a page students can reach, such as their profile page. They see each certificate, its status and expiry date, and a link to renew. Add course_id="123" to show one course only.

Student certificate status view
The student status view

The Shortcodes tab lists all four shortcodes, including [learndash_certificate_expiry_openbadge_link] for the Open Badges export.

8. The Certifications screen

Everything comes together on LearnDash LMS → Certificate Expiry → Certifications: every student, course, status, expiry date and payment reference.

Certificate Expiry Certifications screen
The Certifications screen

From here you can:

  • filter by course or status, and sort by any column
  • approve certificates waiting for approval, and revoke certificates, one at a time or in bulk
  • extend one certification by a number of days
  • grant a certification by hand with the Grant a Certification form
  • export the list to CSV for compliance reporting

Statuses you’ll see: active, expired, revoked, pending payment and pending approval.

Students who finished a course before you installed the plugin aren’t picked up automatically. Grant them here, and set their validity to match what’s left of their original year if needed.

Troubleshooting

ProblemWhat to check
No certification appears when a student finishes the courseThe course has a certificate selected in its Certification settings, and the course really completed in LearnDash.
Paid certificate stays “pending payment”The order’s status is ticked on Payment & Unlock, and online or offline auto-unlock is on for that payment method.
Reminders aren’t arrivingWordPress email works (test with an SMTP plugin), and WP-Cron runs. On quiet sites, set up a real cron job.
The QR code doesn’t show on the PDFThe QR shortcode is in the certificate template, and “Show a verification QR code” is ticked on the course.
The verification link shows a blank or missing pageA page with the verify shortcode is chosen on the Verification & Sharing tab.
Still stuck? Email support@pluginsprout.com We reply within 24 hours, Monday to Friday.