Unified Private Class LMS
Unified Private Class LMS is a lightweight learning-management and class-administration plugin built for private tutors, small academies, and one-to-one teaching businesses. It gives you a dedicated teacher dashboard and student dashboard on the front end of your site, so neither group ever needs to touch wp-admin.
Teachers create classes, enrol students, schedule recurring weekly sessions, share materials, and track payments. Students sign in to a branded dashboard to see their upcoming classes, join links, schedule calendar, course materials, and billing history.
Two integrations are optional and only activate when you add credentials in the settings screen:
- Zoom — when configured, creating a class automatically provisions a recurring weekly Zoom meeting, and the join link appears on the student dashboard shortly before each session.
- Stripe — when configured, a class can carry a weekly subscription. Students pay through Stripe’s hosted Checkout, and a webhook keeps their access in sync with their payment status.
If you do not configure Zoom or Stripe, the plugin works as a standalone scheduling and class-management tool.
Key features
- Front-end Teacher Dashboard — overview, students, classes, payments, meetings, and a full schedule calendar.
- Front-end Student Dashboard — my classes, schedule calendar, payment history, course materials, and account settings.
- Two custom roles (Teacher and Student) with no public self-registration — teachers create student accounts.
- Recurring weekly session generation with automatic status updates and session reminders via WP-Cron.
- Optional Zoom recurring meetings (Server-to-Server OAuth).
- Optional Stripe weekly subscriptions with hosted Checkout, a customer billing portal, and webhook-driven access control.
- HTML email notifications (welcome, class confirmation, payment receipt/failure, reminders) with editable templates.
- A branded, self-contained sign-in screen that keeps students and teachers out of wp-admin.
Privacy & third-party services
This plugin does not phone home, and it does not collect, share, or transmit any data on its own. Data is only ever sent to a third-party service when you enable and configure that integration, and only the data required to perform the action you requested.
Zoom (optional, only when Zoom credentials are entered) When enabled, the plugin communicates with the Zoom API to create and manage the meetings tied to your classes. Data sent includes the class title/agenda, schedule (day, time, duration, timezone) and recurrence. This happens server-to-server using the Server-to-Server OAuth credentials you provide.
- Zoom API endpoints: https://zoom.us/oauth/token and https://api.zoom.us/v2
- Zoom Terms of Service: https://www.zoom.com/en/trust/terms/
- Zoom Privacy Statement: https://www.zoom.com/en/trust/privacy/
Stripe (optional, only when Stripe credentials are entered) When enabled, the plugin communicates with the Stripe API to create customers, prices, subscriptions, and Checkout/Billing-Portal sessions, and it receives Stripe webhooks. Data sent includes the student’s name and email and the class price/currency. When a student pays, their browser is redirected to Stripe’s hosted Checkout page. The plugin bundles the official, unmodified Stripe PHP SDK (MIT licensed).
- Stripe API endpoint: https://api.stripe.com (via the Stripe PHP SDK), plus the hosted https://checkout.stripe.com Checkout page
- Stripe Services Agreement: https://stripe.com/legal/ssa
- Stripe Privacy Policy: https://stripe.com/privacy
All front-end assets (the FullCalendar library and the Plus Jakarta Sans web font) are bundled with the plugin and served from your own site — nothing is loaded from an external CDN.
Zoom and Stripe are trademarks of their respective owners. This plugin is an independent integration and is not endorsed by, certified by, or affiliated with Zoom Video Communications, Inc. or Stripe, Inc.