Generate an online course plugin (lite LMS)
LearnDash, LifterLMS, TutorLMS all do excellent work. They also have hundreds of settings and plenty of features most small course creators never touch. If you sell a single course or a handful, a lite LMS in a generated plugin is leaner and cheaper.
Course + lessons CPT, member progress tracking, optional quiz at end of each lesson that gates the next one, and a completion certificate. That is it.
Why generate it instead of installing an existing plugin?
LearnDash starts at $199/year, LifterLMS is free-core with paid add-ons that add up, TutorLMS is similar. For a one-course creator doing ~€5-20k/year in course sales, the LMS cost is a noticeable margin hit.
A generated plugin does the same core flow: enroll a user, show lessons sequentially, mark as complete, optional quiz before advancing, final certificate emailed as a PDF. It plugs into WooCommerce if you already sell the course there, or it handles its own Stripe checkout.
The certificate is generated as a PDF using a small library (TCPDF or mpdf embedded), with the student name and completion date. Looks professional, no third-party service.
Example prompt
This is the kind of description that generates this plugin. You can start from it and tweak whatever you need before hitting generate.
Plugin name: Acme Course
CPTs:
- acme_course: title, description, featured image, final_certificate_template (image).
- acme_lesson: title, content (rich), course_id, order, has_quiz (bool).
Quiz: when has_quiz is true, a JSON block in the lesson defines 3-5 questions and correct answers. Student must score >= 70% to unlock next lesson.
Enrollment:
- If logged in and not enrolled, Stripe Checkout for the course fee (price stored on course).
- On payment success, mark enrolled in wp_acme_enrollments.
Lesson page:
- Shows video (embedded) + rich content.
- "Mark as complete" button (after 90% video watched OR after quiz passed).
Progress sidebar on each lesson: list of lessons with checkmarks for completed, lock icon for not-yet-unlocked.
Certificate: on course complete, generate PDF with student name + course title + completion date, email to student, link from dashboard.
Student dashboard at /my-courses showing progress across all enrollments.What the generated plugin typically includes
- Course + lesson CPTs with ordered lessons
- Sequential unlock with optional quiz gates
- Stripe Checkout or WooCommerce integration for payment
- "Mark complete" logic with video-watched threshold
- PDF certificate generation on course completion
- Student dashboard showing enrollments and progress
Fee structure, quiz logic, certificate design and progress rules come from the prompt. Drip-content schedules (e.g., "lesson 2 unlocks 7 days after enrollment") are one sentence in the prompt.
Frequently asked questions
How does video protection work?
Videos hosted on Vimeo/YouTube Private can embed only on your domain. The plugin does not store video files. For stronger protection use a signed-URL video host like Bunny Stream.
Can I have multiple instructors?
Yes. Describe the instructor role and assign courses to instructors; revenue can split by percentage at Stripe Connect level.