Beschreibung
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.
Installation
- Upload the
unified-private-class-lmsfolder to/wp-content/plugins/, or install the ZIP from Plugins Add New Upload Plugin. - Activate the plugin through the Plugins screen. Activation creates the custom roles, database tables, scheduled events, and the two dashboard pages automatically.
- Go to Unified Private Class LMS Settings and configure:
- General: default timezone and currency, the optional contact/sign-up URL, and the email templates.
- Zoom (optional): Account ID, Client ID, and Client Secret from a Server-to-Server OAuth app.
- Stripe (optional): Secret Key, Publishable Key, and Webhook Signing Secret.
- Pages: confirm the student and teacher dashboard pages.
- If you use Stripe, add a webhook endpoint in your Stripe dashboard pointing to
https://your-site.com/wp-json/classflow/v1/stripe-webhook, subscribe it to the checkout/invoice/subscription events, and paste its signing secret into Settings Stripe.
The teacher and student dashboards are rendered by the [classflow_teacher_dashboard] and [classflow_student_dashboard] shortcodes, which are placed on the auto-created pages.
FAQ
-
Do I have to use Zoom and Stripe?
-
No. Both are optional. With no credentials entered, Unified Private Class LMS works as a standalone class scheduling and management tool. Add Zoom credentials to auto-create meetings, and/or Stripe credentials to bill weekly subscriptions.
-
Can students or teachers access wp-admin?
-
No. Users with the Student or Teacher role are redirected to their front-end dashboard and the admin bar is hidden for them. Administrators are unaffected.
-
Can students register themselves?
-
No. There is no public self-registration. Teachers create student accounts, which keeps your roster private.
-
Does the plugin send my data anywhere?
-
Only to the integrations you explicitly configure (Zoom and/or Stripe), and only the data needed for the action you requested. The plugin does not track users or call home. See the Privacy & third-party services section above.
-
What happens to my data when I uninstall?
-
Roles, options, and the cached Zoom token are removed on uninstall. Your class, session, and billing tables are preserved by default to avoid accidental loss of financial records. Define the constant
CLASSFLOW_LMS_DROP_TABLESastruebefore uninstalling if you want the tables dropped too.
Rezensionen
Zu diesem Plugin liegen noch keine Rezensionen vor.
Mitwirkende und Entwickler
„Unified Private Class LMS“ ist Open-Source-Software. Folgende Menschen haben an diesem Plugin mitgewirkt:
MitwirkendeÜbersetze „Unified Private Class LMS“ in deine Sprache.
Interessiert an der Entwicklung?
Durchstöbere den Code, sieh dir das SVN-Repository an oder abonniere das Entwicklungsprotokoll per RSS.
Änderungsprotokoll
1.5.0
- Bundled the FullCalendar library and the Plus Jakarta Sans web font locally (no external CDN requests).
- Added a configurable Contact / Sign-up URL setting for the sign-in screen.
- Documented Zoom and Stripe data flows for transparency.
- Housekeeping: more complete uninstall cleanup.