
A focused lesson with ordinary WordPress content, lesson navigation, and the Mark complete control.
Want to share what you know without a full learning management system? Heavy LMS
setups can mean extra database records, student login barriers, and more complex
page caching. No LMS keeps course building simple.
Turn any standard WordPress post into an interactive, distraction-free course
using native Gutenberg blocks in minutes. Add modules and lessons, publish, and
let readers track their progress without creating an account. Progress stays in
their browser, with no server-side progress records to clutter your database.
After activation, the No LMS welcome screen offers an optional demo course draft
and lets you create a new course draft.
The Course Overview block lists every published course. Add it to a page if you
want a course listing.
For a starting structure, insert the Course starter pattern from the block editor.
It adds an introduction, one module, and two lessons. Replace its example text before publishing.
Choose a sidebar, horizontal, or Standalone course page layout in the Course panel.
The standalone layout is selected by default and gives the course its own full page with a minimal header,
large title, lesson navigation, and an accent color you can set per course. It keeps
the post’s URL and content, but uses the plugin page design instead of the theme’s
single-post template. Add a post excerpt to show a short description below its title.
Existing blocks before the first module appear once on the course Overview. Readers
then move through one focused lesson at a time, while the full course remains
readable when JavaScript is unavailable. On small screens, readers can expand the
lesson list when needed instead of scrolling past the whole outline.
Modules and lessons can be renamed or reordered. Progress remains tied to each
lesson ID. Deleted lessons stop counting toward the current total.
Open the post as usual. The outline links to each lesson and shows the completed
count and progress bar. Readers can use Mark complete or Mark incomplete at the end
of a lesson. The choice is saved in this browser’s local storage. Clearing site data
also clears progress. JavaScript and browser storage are needed to save progress.
WordPress 6.3 or later and PHP 7.2.5 or later are required. The editor and reader
scripts are built before packaging the plugin, as described below.
The readable source code for the generated JavaScript and CSS in
frontend/dist/ is included in this plugin under /frontend/. Run
npm ci && npm run build to rebuild the artifacts.
The plugin does not store lesson progress on the server. Browser progress remains
until the reader clears site data. Uninstalling the plugin keeps its data by default.
In No LMS > Settings, enable “Delete No LMS data when the plugin is uninstalled”
to remove plugin settings, course flags, layouts, accent colors, and demo markers
when deleting the plugin. On multisite, this preference applies separately per site.
Posts, pages, demo courses, and lesson content are always kept. Deactivation does
not remove data.