lw-lms-rest-frontend
Installation
SKILL.md
LW LMS: REST frontend consumer
For frontend developers consuming LW LMS data: course catalog, course detail, lesson player, progress dashboard, and protected downloads. The core lw-lms plugin ships a headless REST API; it does not ship public templates, shortcodes, or blocks.
BETA NOTICE. The plugin README says the plugin is under active development and not recommended for production use. Snapshot the JSON shapes in tests and review
CHANGELOG.mdbefore upgrading. This skill is verified against local lw-lms v1.6.0.
Version deltas that matter
- v1.6.0: no route or JSON-schema change. A server-side
lw_lms_has_course_accesscallback can now alter the final logged-in paid-course access decision after built-in access checks, which affectsaccess.has_access, lesson accessibility, attachments, lesson detail, progress writes, and protected downloads. - v1.5.1: maintenance release, no functional REST changes.
- v1.5.0: paid-course denied
accesspayload can includemembershipswhen WooCommerce Memberships is active and the course has_lw_lms_membership_plan_ids. - v1.4.0: course
contentin/courses/{id}is public marketing/about content. It is no longer gated behindaccess.has_access. Lesson content is still gated by/lessons/{id}. - v1.4.0: open-course lessons remain accessible to guests even if marked as preview.
- v1.3.0: first logged-in access to a free course lazily writes a
source='free'access row server-side; the REST consumer does not need to do anything special. - v1.2.15: denied paid-course
accesspayload can includesubscription_variations.
Misconception this skill corrects
"I should use
course.contentas the access gate."