LifterLMS Import and Export: Clone Courses and Reuse Lessons
How to export a LifterLMS course to a JSON file, import it on another site, clone a course in one click, and reuse lessons with Add Existing Lesson…
Read articleLifterLMS was one of the first WordPress LMS plugins built for the block editor, and the blocks are now part of the core plugin. They let you lay out course pages, lessons, sales pages and student areas visually in the WordPress block editor, and show or hide any block depending on whether the visitor is enrolled.
This guide lists every LifterLMS block in the 10.x core plugin, groups them by where they are used, and shows layouts that work in practice. It is for course creators and site builders who design in the block editor. Block names and options were taken from the LifterLMS 10.3 source.
In the block inserter, the blocks sit in the LifterLMS Blocks category. Typing "LifterLMS" in the inserter search shows most of them. Some blocks only appear where they make sense: course blocks on courses, lesson blocks on lessons, and the LifterLMS Link block only inside a Navigation block.
When you create a new course in the block editor, LifterLMS starts it with a ready-made layout: a description paragraph, then Course Information, Instructors, Pricing Table, Course Progress, Course Continue Button and Course Syllabus. New lessons start with a paragraph, Lesson Progression (Mark Complete) and Lesson Navigation. New memberships get Instructors and Pricing Table. You can move, remove or restyle any of them.
When you open an older course in the block editor for the first time, LifterLMS adds these blocks to its content and stops outputting the same elements through the theme template, so nothing appears twice.
| Block | What it shows |
|---|---|
| Course Information | Length, difficulty, categories, tags and tracks, each of which can be switched off, with an editable heading. |
| Instructors | The course or membership instructors with avatars. Works on courses and memberships. |
| Pricing Table | The access plans with prices and enroll buttons. |
| Course Progress | A progress bar for the enrolled student. |
| Course Continue Button | A button that takes the student to their next lesson. |
| Course Syllabus | The full list of sections and lessons, with lock and completion status. |
These read the current course, so you place them on the course itself. To show course information somewhere else, use the blocks in the next section, which let you choose a course.
Everything else in a lesson is ordinary content: video, text, images, downloads. If you use focus mode, enrolled students see lessons in LifterLMS's distraction-free layout, which adds its own Mark Complete footer and navigation.
These blocks work in pages, posts and templates. Most take a course or membership you pick in the block settings.
| Block | Use it for |
|---|---|
| Courses | A grid of course tiles, filterable by category, with order and number of courses. Can show only the visitor's own courses. |
| Memberships | A grid of membership tiles. |
| Pricing Table | The plans of any course or membership you select, for custom sales pages. See our pricing table guide. |
| Access Plan Button | A single button linking to checkout for one access plan. |
| Course Outline | A course outline, full or just the current section, optionally collapsible. |
| Course Syllabus | The syllabus of a chosen course. |
| Course Progress with Continue Button | Progress bar and continue button for a chosen course. Renders only for enrolled students. |
| Course Author | The author's name, avatar and optional biography. |
| Course Meta Information | All meta information for a chosen course. |
| Course Prerequisites | A notice listing unmet prerequisites. |
| Course Reviews | Reviews and the review form for a course. |
| My Achievements | The current student's achievements. |
The fields on registration, checkout and account forms are blocks too, edited under LifterLMS > Forms. That is a separate editor with its own field blocks, covered in LifterLMS registration and account forms. Certificates also have a Certificate Title block in the certificate editor.
This is the feature that makes LifterLMS blocks more than shortcodes with a preview. Most LifterLMS blocks, and most core blocks such as paragraphs, groups and buttons, have an Enrollment Visibility panel in the block settings. Display to has five options:
For the enrolled and non-enrolled options, a second setting chooses the scope: in this course (or in this membership), in any course or membership, in any course, in any membership, in all of the selected courses or memberships, or in any of the selected courses or memberships.
Visibility is checked on the server when the page is rendered, so hidden blocks are not sent to the browser at all. That makes it suitable for links and bonus content, not just cosmetic changes. It is still not a replacement for course access rules: protect lessons by enrollment and files with media protection.
Students land on a course page that gets them back to work, and visitors get a sales page, at the same URL.
Build the page with normal blocks, add a Pricing Table for the course in the middle and Access Plan Buttons after each section. If you use a separate sales page, the course's Sales Page settings in Course Options can redirect non-enrolled visitors to it.
Combine Courses set to show only the visitor's courses, Course Progress with Continue Button for your flagship course, and a group of announcements set to enrolled users in any membership.
If you build many courses, register a pattern so each new course starts from your layout. This example, for a small custom plugin, inserts a sales group visible only to non-enrolled visitors and a student group for enrolled students:
<?php
add_action( 'init', 'llmsx_register_course_pattern' );
function llmsx_register_course_pattern() {
register_block_pattern(
'llmsx/course-page',
array(
'title' => __( 'Course page: sales and student views', 'llmsx' ),
'categories' => array( 'text' ),
'postTypes' => array( 'course' ),
'content' => '<!-- wp:group {"llms_visibility":"not_enrolled","llms_visibility_in":"this"} -->
<div class="wp-block-group"><!-- wp:heading --><h2 class="wp-block-heading">What you will learn</h2><!-- /wp:heading -->
<!-- wp:llms/pricing-table /--></div>
<!-- /wp:group -->
<!-- wp:group {"llms_visibility":"enrolled","llms_visibility_in":"this"} -->
<div class="wp-block-group"><!-- wp:llms/course-progress /-->
<!-- wp:llms/course-continue-button /--></div>
<!-- /wp:group -->
<!-- wp:llms/course-syllabus /-->',
)
);
}
The visibility attributes are the same ones the Enrollment Visibility panel writes, so you can open the pattern in the editor and adjust them visually.
No. Since LifterLMS 10.1 the blocks are bundled in the core plugin and the standalone plugin is no longer released separately.
Yes. Most blocks render the same output as a LifterLMS shortcode, for example [lifterlms_pricing_table] and [lifterlms_access_plan_button], which is useful in page builders and widgets.
Blocks only work in the block editor. Page builders such as Elementor have their own LifterLMS widgets or can use the shortcodes.
Many blocks support standard block styling, and LifterLMS buttons inherit your theme's button styles. Further changes need CSS in your theme.
Open one course, set up the sales and student groups described above, and test the page as a visitor and as an enrolled student. Once it works, save it as a pattern and use it for every course.
If you need custom blocks, such as a cohort schedule, a progress dashboard across several courses or a block that pulls data from another system, our LifterLMS plugin development team builds them properly. Tell us what you want on the page.
How to export a LifterLMS course to a JSON file, import it on another site, clone a course in one click, and reuse lessons with Add Existing Lesson…
Read article
How the LifterLMS forms editor works: the three core forms, which fields are required, editing fields with blocks, visibility and reusable fields…
Read article
Use the LifterLMS manual payment gateway for bank transfers, cheques and invoiced customers: how to set it up, what students see, how to approve an…
Read articleSkip the trial and error. Get specialist LifterLMS help and ship faster.