CourseGlade is a full-featured Learning Management System plugin for WordPress. Build and sell online courses, manage students and instructors, and deliver engaging learning experiences — all from your WordPress site.
Key Features
- 7 quiz question types (multiple choice, true/false, fill in the blank, matching, ordering, short answer, essay)
- Multi-instructor support with earnings and withdrawal management
- Become-an-instructor application flow with admin approval
- Public instructor profiles at /instructor/{username}/
- Built-in payment processing with Stripe, WooCommerce, Manual, and Free (zero-price) gateways
- Coupons and discounts, plus free course enrolment
- Student dashboard with progress tracking and a course wishlist
- Course reviews and discussion boards
- Course categories, tags, and difficulty levels
- Transactional email notifications (enrolment, course completion, orders, instructor applications)
- Maintenance mode for your learning site
- Shortcodes for course grids, dashboard, checkout, and authentication pages
Source Code
The admin interface is built with React (Vite). The full, unminified source code is included in the plugin under assets/admin/src/. The compiled output is at assets/admin/build/.
To rebuild the admin assets:
cd assets/adminnpm installnpm run build
External Services
This plugin connects to the following external services:
Stripe Used to process course payments when the Stripe gateway is enabled. – Data sent: payment amount, currency, customer email, course details – When sent: only during checkout when a student purchases a course – Service URL: https://api.stripe.com – Terms of Service: https://stripe.com/legal – Privacy Policy: https://stripe.com/privacy
YouTube Used to embed lesson videos when an instructor provides a YouTube video URL for a lesson. – Data sent: standard browser request (IP address, browser info) when the video is loaded – When sent: only when a student views a lesson that has a YouTube video URL set – Service URL: https://www.youtube.com – Terms of Service: https://www.youtube.com/t/terms – Privacy Policy: https://policies.google.com/privacy
Vimeo Used to embed lesson videos when an instructor provides a Vimeo video URL for a lesson. – Data sent: standard browser request (IP address, browser info) when the video is loaded – When sent: only when a student views a lesson that has a Vimeo video URL set – Service URL: https://vimeo.com – Terms of Service: https://vimeo.com/terms – Privacy Policy: https://vimeo.com/privacy
oEmbed video providers
When an instructor sets a lesson video to the “Embed” source type, the plugin uses WordPress’s built-in oEmbed (wp_oembed_get()) to fetch the embed markup from the provider of the URL the instructor supplies (any provider on the WordPress oEmbed allowlist, e.g. Dailymotion, Wistia, TED).
– Data sent: the video URL the instructor entered, plus a standard server request, to the matching provider
– When sent: server-side, when a lesson with an “Embed” video is rendered
– Service URL: depends on the provider URL the instructor supplies
– Terms / Privacy: governed by the chosen provider’s own terms and privacy policy
Gravatar Used to display user avatars (students and instructors) when a custom avatar has not been uploaded. This is the standard WordPress avatar service. – Data sent: an MD5 hash of the user’s email address – When sent: when an avatar is rendered for a user who has no custom uploaded avatar – Service URL: https://gravatar.com – Terms of Service: https://wordpress.com/tos/ – Privacy Policy: https://automattic.com/privacy/
