LifterLMS with a Block Theme: Using the Site Editor for Courses

Which templates LifterLMS adds to the Site Editor, how to design course catalogs, single course and lesson templates in a block theme, what stays in PHP, and how a theme can ship its own LifterLMS block templates.

  • Add as a preferred source on Google
Illustration for “LifterLMS with a Block Theme: Using the Site Editor for Courses”

If your site runs a block theme, such as Twenty Twenty-Five or LifterLMS's own Sky Pilot, you design your LifterLMS pages in the Site Editor rather than the Customizer. LifterLMS supports this: it adds its own templates to the Site Editor and provides blocks for course pages, lessons and navigation.

This tutorial is for site owners and designers working with a LifterLMS block theme setup. It shows which LifterLMS templates appear in the Site Editor, how to build templates for single courses and lessons, which parts still come from PHP templates, and how a developer can ship custom LifterLMS block templates with a theme.

It was checked against LifterLMS 10.3. The Site Editor's menus have moved between WordPress versions, so the path may differ slightly on yours. For the blocks themselves, see our LifterLMS Gutenberg blocks guide.

How LifterLMS detects a block theme

LifterLMS checks whether the active theme is a block theme using WordPress's own test. When it is, LifterLMS registers its block templates and uses them instead of its PHP page templates for catalogs and restricted content. Developers can override that check with the llms_is_block_theme filter, but on a normal site you never need to.

Nothing changes in your courses, students or settings when you switch between classic and block themes. Only the way pages are framed and laid out changes.

The templates LifterLMS adds to the Site Editor

Open the Site Editor (Appearance > Editor) and go to Templates. With LifterLMS active you will find these:

TemplateUsed for
Course CatalogThe courses page and course archive
Membership CatalogThe memberships page and archive
Single Access RestrictedLessons, quizzes and other content a visitor cannot access
Taxonomy Course Category, Difficulty, Tag and TrackCourse taxonomy archives
Taxonomy Membership Category and TagMembership taxonomy archives

Each one is short: the theme's header template part, a group containing a LifterLMS PHP template block, and the footer template part. In the editor the middle block is labelled with its purpose, for example "LifterLMS Course Catalog Template".

What you can and cannot edit

You can change everything around that block: add a hero with a heading and intro text, a search block, a call to action, a different header, or a sidebar column. You cannot edit the course tiles themselves as blocks. The PHP template block prints LifterLMS's catalog loop, and the tiles come from PHP templates such as loop/content.php. To change what a tile shows, use hooks or a template override.

If you would rather build the catalog entirely from blocks, replace the PHP template block with the LifterLMS Courses block, or with a core Query Loop on the Course post type. A Query Loop gives you full layout control but not LifterLMS's enrollment-aware details such as progress on each tile.

Saving and resetting

When you save a LifterLMS template in the Site Editor, WordPress stores your version in the database and uses it instead of the file that ships with the plugin. LifterLMS updates will not overwrite your edits. That cuts both ways: if a future LifterLMS version improves a template, your customised copy will not pick up the change. Use the Site Editor's reset option on a template to return to the plugin's version.

Templates for single courses and lessons

LifterLMS does not add single course or lesson templates. Courses and lessons use your theme's single template by default, and the LifterLMS elements come from the post content.

That content is where the blocks live. When you edit a course in the block editor, LifterLMS adds its course blocks to the content: Course Information, Instructors, Pricing Table, Course Progress, a continue button and Course Syllabus. Lessons get Lesson Progression (the Mark Complete button) and Lesson Navigation. You can move, remove and restyle those blocks per course.

To give every course or lesson its own frame, create a template for that post type in the Site Editor's add template screen, where WordPress lists a single item template for each public post type, including Courses and Lessons.

  1. Add a template for single lessons.
  2. Include the post title and the post content block. The content block is essential: it carries the lesson text, the Mark Complete button and navigation.
  3. Add a sidebar column with the Course Outline block. On a lesson it shows the parent course's outline, and it can be set to show only the current section.
  4. Save, then do the same for single courses with a wider layout suited to a sales page.

Because the course and lesson blocks live in each post's content, the template controls the frame and the post controls the LifterLMS elements. That split is what keeps your templates simple.

Block themes have no widget areas, so the Course Sidebar and Lesson Sidebar that LifterLMS registers for classic themes do nothing here. Build sidebars inside your templates with blocks, such as Course Outline, Course Progress with Continue Button, or a custom pattern.

What always stays in PHP

A few LifterLMS screens use fixed PHP templates even in a block theme, on purpose:

  • Certificates. They use their own template that does not depend on the theme, so certificates print consistently.
  • Focus Mode lessons. When Focus Mode is on, lessons use LifterLMS's own focus layout for a stable, distraction-free page. Your single lesson template is not used for those lessons.
  • Checkout and student dashboard. These are pages containing LifterLMS blocks or shortcodes. You can frame them in the Site Editor, but the forms and tabs are rendered by LifterLMS.

The LifterLMS Link block works inside the core Navigation block. It adds dynamic links to student pages: Dashboard, My Courses, My Grades, My Memberships, My Achievements, My Certificates, Notifications, Edit Account, Redeem a Voucher, Order History, Sign In and Sign Out. Use it in your header template part so logged-in students always have a route back to their courses.

LifterLMS blocks also carry visibility settings, so you can show a "Sign In" link only to logged-out visitors and "My Courses" only to logged-in users. Test those as both before publishing the header.

For developers: shipping LifterLMS block templates with a theme

A theme can provide its own versions of LifterLMS's block templates, the same way it overrides PHP templates. Put an HTML file with the same name in a block-templates folder inside the theme's lifterlms folder:

your-theme/
  lifterlms/
    block-templates/
      archive-course.html

A minimal catalog template with a heading above the LifterLMS loop looks like this:

<!-- wp:template-part {"slug":"header","tagName":"header"} /-->
<!-- wp:group {"tagName":"main","layout":{"type":"constrained"}} -->
<main class="wp-block-group">
<!-- wp:heading {"level":1} -->
<h1 class="wp-block-heading">All courses</h1>
<!-- /wp:heading -->
<!-- wp:llms/php-template {"template":"archive-course"} /-->
</main>
<!-- /wp:group -->
<!-- wp:template-part {"slug":"footer","tagName":"footer"} /-->

Customisations saved in the Site Editor still take priority over the file, so if your change does not appear, check whether someone has edited that template in the database. Developers who need deeper control have filters such as llms_block_templates_config for registering template directories and llms_forced_block_template_slug for choosing which template loads.

Common problems

  • Lesson without a Mark Complete button. The lesson template has no post content block, or the Lesson Progression block was deleted from that lesson's content.
  • Syllabus or pricing table twice. A course has the blocks in its content and the template adds them again. Keep LifterLMS course blocks in the content, not in the template.
  • Template edits not showing. The page uses a different template than you think. Check the template assigned to the page, and remember Focus Mode lessons and certificates use PHP layouts.
  • Catalog changes lost after "it was fine yesterday". Someone reset the template in the Site Editor. Export your theme or keep template files under version control.
  • Cached headers showing the wrong links. Visibility-based navigation is per user. Exclude logged-in users from page caching; see LifterLMS caching conflicts.

Frequently asked questions

Does LifterLMS work with full site editing?

Yes. LifterLMS adds catalog, taxonomy and restricted-access templates to the Site Editor and provides blocks for course pages, lessons and navigation.

Why can't I edit course tiles in the Course Catalog template?

The tiles are printed by a LifterLMS PHP template block. Change them with hooks or a template override, or replace the block with the Courses block or a Query Loop.

Do I need Sky Pilot to use LifterLMS with a block theme?

No. Any block theme works. Sky Pilot is LifterLMS's own paid block theme with LifterLMS pages pre-styled.

Where did the Course and Lesson sidebars go?

They are widget areas, which block themes do not have. Build sidebars in your templates with blocks instead.

What to do next

On staging, open the Course Catalog template and add a heading and intro, then create single course and lesson templates with a post content block and a Course Outline sidebar. Test as a visitor, an enrolled student and a student with a locked lesson.

If you are moving an existing classic-theme course site to a block theme, our LifterLMS customization service handles the templates, patterns and overrides, and our migration service covers moving the content safely. Tell us which theme you are moving to.

Add LifterLMS Expert to your preferred sources

Add lifterlmsexpert.com as a preferred source on Google, or open this article in your AI assistant to use it as a source.

  • Add as a preferred source on Google
Free consultation

Prefer expert help over DIY?

Skip the trial and error. Get specialist LifterLMS help and ship faster.

Talk to a LifterLMS Expert Explore our services

Replies within one business day