LifterLMS for Schools and Tutoring: Classes, Parents and Grades
An honest guide to running a school, online academy or tutoring business on LifterLMS: how to model classes and terms, what to do about parent…
Read articleHow to run accredited continuing education on LifterLMS: proving time spent, assessing learning, issuing certificates with credit hours, tracking expiring credits with the Continuing Education add-on, and keeping records that stand up to an audit.
Continuing education has one requirement that ordinary course selling does not: evidence. A licensed professional needs a certificate that shows the credits they earned, and you, as the provider, need records proving that they spent the time, passed the assessment and completed the course. LifterLMS continuing education setups can deliver that evidence, partly in the free core plugin and partly through add-ons.
This article is for CE providers, training companies and the developers who build their sites. It covers the four things every CE program needs (time, assessment, certificates and records), how LifterLMS handles each, what the Continuing Education add-on adds, and where custom work is still required. If you are a membership association selling CE alongside member benefits, also read LifterLMS for associations and CE credits.
Every accrediting body and licensing board sets its own requirements, so begin there, not with the software. Collect the actual rules and turn each one into a requirement you can test. Typical questions:
The sections below map these onto LifterLMS. Anything left over is a custom requirement.
LifterLMS core tracks time on lessons. Two settings matter:
The course students reporting screen includes a Time in Course column, and it appears in the CSV export. The 10.x releases improved how that time is recorded and reported. Our guide to lesson time tracking explains how sessions and idle time are counted.
A minimum time also blocks quizzes. If a student tries to start a lesson's quiz before the minimum time has passed, LifterLMS shows "You must spend the required minimum time on the lesson before taking the quiz."
For video-based CE, time on the page is not the same as watching. The paid Advanced Videos add-on can stop a lesson being completed until the video has been watched. Use both when your accreditor cares about content consumption, not just time.
Be realistic about what this proves. Time tracking shows that a lesson was open and active in a logged-in session. It does not verify who was sitting in front of the screen. If your board requires identity verification or proctoring, that is a separate service.
LifterLMS quizzes cover most CE post-tests:
For a required course evaluation, add a short quiz of zero-point questions in a lesson before the post-test, or before the final lesson. Zero-point questions are recorded but not graded, and a prerequisite on the next lesson makes the evaluation mandatory. Question pools and written answers need the Advanced Quizzes add-on. See how to create quizzes in LifterLMS for the core settings.
LifterLMS awards certificates through an engagement, usually triggered by "Student completes a course". Three merge codes are especially useful for CE:
{earned_date}: the date the certificate was earned. Use it instead of {current_date}, which changes if a certificate is re-synced.{sequential_id}: a running number per certificate template, set with Next Sequential ID on the template. It gives each certificate a unique reference for your records.{first_name} and {last_name}: make sure your registration form collects legal names, since these come from the user profile.Static details such as your provider number, course number and approved hours can be typed directly into each course's certificate template. With many courses, one template per course becomes hard to maintain. That is where a credit value per course helps, either from the add-on or from a custom merge code.
Common certificate pitfalls are covered in fixing LifterLMS certificate problems.
The paid LifterLMS Continuing Education add-on is designed for providers whose credits expire. According to its product page, it:
If your learners renew licences on a cycle, the add-on covers what core lacks: core LifterLMS records that a course was completed, but has no concept of a credit that expires.
If you only need the credit value on the certificate and not expiry tracking, a developer can store the hours on each course and add a merge code. This small plugin reads a course custom field named _llmsx_ce_hours and provides {llmsx_ce_hours}:
<?php
/**
* Plugin Name: LLMSX CE Hours Merge Code
*/
add_filter( 'llms_certificate_available_merge_codes', function ( $codes ) {
$codes['{llmsx_ce_hours}'] = __( 'CE Hours', 'llmsx' );
return $codes;
} );
add_filter( 'llms_certificate_merge_data', 'llmsx_ce_hours_merge_data', 10, 4 );
function llmsx_ce_hours_merge_data( $codes, $user_id, $template_id, $related_id ) {
$course = null;
$related = $related_id ? llms_get_post( $related_id ) : false;
if ( $related instanceof LLMS_Course ) {
$course = $related;
} elseif ( $related && method_exists( $related, 'get_course' ) ) {
$course = $related->get_course();
}
$hours = $course ? get_post_meta( $course->get( 'id' ), '_llmsx_ce_hours', true ) : '';
$codes['{llmsx_ce_hours}'] = $hours ? esc_html( $hours ) : '';
return $codes;
}
Merge codes are filled in when a certificate is awarded, so set the hours before students complete the course.
Records are where many CE sites are weakest. Plan them explicitly.
| Record | Where it lives in LifterLMS | How to produce it |
|---|---|---|
| Enrollment and completion dates | Student and course reporting | CSV export from the course students table |
| Time spent | Lesson time tracking | Time in Course column and export |
| Assessment results | Quiz attempts | Quiz reporting; each attempt keeps its answers and grade |
| Certificates issued | Awarded certificates | Listed per student; PDFs with the PDFs add-on |
| Payments | Orders and transactions | Order screens and sales reporting |
Three habits protect those records:
Yes. A minimum time per lesson prevents completion and quiz access until the time has been spent, and Advanced Videos can require videos to be watched.
You need it, or custom development, if credits expire, renew or need tracking across courses. For one-off courses with a fixed number of hours, core certificates plus a merge code may be enough.
Yes, either with one template per course, the add-on's CE details, or a custom merge code that reads the hours from the course.
Keep the student account, quiz attempts and awarded certificate, and maintain your own periodic exports as a backup.
Write your accreditor's requirements as a checklist, then build one course that satisfies every line: minimum times, post-test, evaluation, certificate content and an export you would be happy to hand to an auditor. Once one course passes, the rest follow the same pattern.
For board reporting, transcripts or certificate logic beyond the settings, our LifterLMS customization service builds it, and LifterLMS consulting can review your setup against your accreditor's rules first. Send us your requirements.
An honest guide to running a school, online academy or tutoring business on LifterLMS: how to model classes and terms, what to do about parent…
Read article
How coaches and consultants use LifterLMS to combine a signature course, a paid membership, private one-to-one content and live calls, what the free…
Read article
A practical WCAG checklist for a LifterLMS academy: what the plugin already handles, where themes, video and course content cause most failures, how…
Read articleSkip the trial and error. Get specialist LifterLMS help and ship faster.