Docs · Cortex LMS Lite

Documentation

Lightweight WordPress LMS by CorteX Solutions. This guide covers install → setup → launch.

Requirements

  • WordPress 6.x+
  • PHP 8.0+ / MySQL 5.7+ (or MariaDB 10.4+)
  • WooCommerce 8.x+ (Subscriptions optional)
  • Video: Vimeo or Bunny Stream (recommended), YouTube/HLS supported
Performance tips
  • Use LiteSpeed/Cloudflare (exclude lesson POST submits & /dashboard)
  • Enable OPcache, HTTP/2, and image/WebP

Install & Update

  1. Upload the plugin ZIP via Plugins → Add New → Upload and activate.
  2. Go to Settings → Permalinks and click Save once.
  3. Optional: Install payment gateways (PayHere/WebXpay/Stripe/PayPal).
  4. To update: upload the new ZIP — it will replace the old safely.
Note: If you use a security plugin that blocks ZIP uploads, allowlist your admin IP.

Quick Start (5 minutes)

  1. Create pages: /courses (Course Grid), /dashboard (Student Dashboard).
  2. Add a Course + 2–3 Lessons. Mark one lesson as Free Preview.
  3. Create a Woo product (one-time or subscription) and link it to the Course.
  4. Test checkout → automatic enrollment → play the lesson.
  5. Optionally add a quiz with pass mark and auto-certificate.

Shortcodes

[cxlms_course_grid per_page="9" order="desc" category="featured"]
[cxlms_course id="123"]
[cxlms_lesson id="456"]
[cxlms_dashboard]
        

Replace IDs with your actual Course/Lesson IDs. Works in Gutenberg, Elementor, and classic editor.

Courses & Lessons

  • Course single: overview, syllabus, instructor, duration, optional Zoom link.
  • Lesson player: Vimeo/Bunny/YouTube/HLS; notes & protected downloads.
  • Categories/Tags: unlimited; useful for grid filters.

WooCommerce & Payments

  1. Create Product → choose pricing (one-time or subscription).
  2. Product Data → CXLMS: Linked Course → select Course.
  3. After successful payment, the student is auto-enrolled.

Gateways: PayHere (LKR), WebXpay (LKR), Stripe/PayPal (USD).

Quizzes & Certificates

  • Types: MCQ / True-False / Short Answer
  • Timer, pass mark, retakes; show score & review
  • Auto certificate (name, course, score, serial, issued date)

Drip & Progress

  • Open on date/time
  • X days after enrollment
  • After previous lesson

Progress is tracked per lesson and as a course %.

Assignments & Grading

Students can upload PDF/Images per lesson. Instructors can approve/reject with feedback and (optionally) gate the next lesson until approved.

Live Classes (Zoom)

Each course can store a Zoom link (manual entry for MVP). Zoom API automation is planned.

Student Dashboard

Shows enrolled courses, progress, certificates, and quick links. Use [cxlms_dashboard] on the /dashboard page.

Reports & Logs

  • Enrollment trends, completion rates, quiz performance
  • Activity logs (export-ready)

Security & Roles

  • Protected downloads (enrolled only)
  • Video domain lock (Vimeo/Bunny)
  • Roles: Admin / Instructor / Student
  • Nonces, capability checks, escaped output

Theming (Gutenberg / Elementor)

  • Use shortcodes inside blocks or Elementor.
  • Global styles come from your theme (e.g., Blocksy). Override via Additional CSS.

Hooks & Filters (dev)

// Redirect after enroll to dashboard
add_filter('cxlms_course_enroll_redirect', function($url, $user_id, $course_id){
  return site_url('/dashboard');
}, 10, 3);

// Fire when a lesson is completed
add_action('cxlms_after_lesson_complete', function($user_id, $lesson_id){
  // custom tracking or email
});

Template Overrides

Copy templates from the plugin’s /templates/ folder into your theme at /cxlms/. Example:

wp-content/themes/your-theme/cxlms/course-single.php
wp-content/themes/your-theme/cxlms/lesson-player.php

Troubleshooting

Lesson completes but progress not saving

  • Exclude lesson POST URLs and /dashboard from cache
  • Check nonce errors in browser console

Video won’t load on site

  • Check domain lock (Vimeo/Bunny) allows your domain
  • Mixed content? Ensure HTTPS everywhere

Still stuck? See Support.

FAQ

Can I drip lessons by date and by enrollment days?

Yes. Each lesson can use date/time, X days after enroll, or “after previous lesson”.

Do certificates support serial numbers?

Yes — auto generated with issued date and course name.

Which payments are supported?

PayHere / WebXpay (LKR), Stripe / PayPal (USD) via WooCommerce.

Support & Contact

Email support@cortex.lk or use the Contact Page. Response within 24h (Mon–Fri).

Open a ticket