Description
Oumma Learning Management is a lightweight, self-hosted LMS plugin for WordPress. Create a course with organized modules and pages, manage students with independent login credentials, and track progress — all from your WordPress dashboard.
Free Features
- Unlimited Courses — Create courses with categories (modules) and pages (lessons).
- Rich Content Editor — Full TinyMCE editor with YouTube/Vimeo video embedding.
- Student Management — Independent student accounts (not WordPress users), with secure login/logout.
- Progress Tracking — Page-by-page confirmation, visual progress bar, completion message.
- Text-to-Speech — Built-in audio reader with word-by-word highlighting and speed control (uses the browser’s built-in SpeechSynthesis API, no external service).
- Sequential Lock — Optionally require students to confirm each page before moving to the next.
- “Read and Understood” Button — Confirmation button per page for sequential progression.
- Email Credentials — Send login credentials to students by email with one click.
- Forgot Password — Built-in password recovery for students.
- 11 Languages — English, French, Spanish, German, Italian, Portuguese, Dutch, Polish, Russian, Turkish, Arabic (RTL).
- Design Customization — Full color customization: content area, sidebar (background, text, width, hover, active states), confirmed/unconfirmed pages, buttons, progress bar, audio highlight, font size.
- Sidebar Accordions — Collapsible category sections in the student sidebar, one open at a time.
- Mobile Responsive — Optimized layout for mobile devices with adaptive top bar, audio player, and pagination.
- Usage Guide — Step-by-step interactive guide with colored cards directly in the admin dashboard.
- Diagnostic Panel — Admin-only debug panel for troubleshooting.
- Shortcode — Display any course with
[learning_management id="1"].
Premium Add-on
Unlock powerful features with Oumma Learning Management Pro:
- WooCommerce Integration — Automatically create student accounts when a linked product is purchased.
- Import / Export — Full JSON backup and CSV export/import of students and progress data.
- Audio Controller — Upload MP3 audio files per page with a custom player.
How It Works
- Create a course and organize content into categories and pages.
- Add students manually or sell access via WooCommerce (Pro).
- Embed the course in any page using the shortcode.
- Students log in, read content, listen via Text-to-Speech, and confirm pages as they progress.
Languages
The plugin is fully translated into 11 languages with complete coverage (636 strings):
- English (source), French, Spanish, German, Italian, Portuguese
- Dutch, Polish, Russian, Turkish, Arabic (with RTL support)
Requirements
- WordPress 5.8 or higher
- PHP 7.4 or higher
Support
For support questions, bug reports or feature requests, please use the WordPress.org support forum or contact us at oumma-pro.com.
External services
This plugin connects to or references the following external services:
Oumma Pro — License Management API
The plugin includes a license activation system for the optional premium add-on (Oumma Learning Management Pro). When the site administrator manually enters and activates a license key in the plugin settings, the plugin communicates with the Oumma Pro licensing server.
The plugin sends the following data to https://oumma-pro.com/wp-json/olml/v1:
- License key (entered by the administrator)
- Site URL (the WordPress site address)
- Plugin version
This communication occurs only when the administrator explicitly:
- Activates a license key
- Deactivates a license key
- The plugin periodically verifies an already-activated license
No data is sent if no license key has been entered. No student data, course content, or personal information is ever transmitted.
- Service provider: Oumma Pro (oumma-pro.com)
- Terms of Service: https://oumma-pro.com/cgu/
- Privacy Policy: https://oumma-pro.com/politique-de-confidentialite/
Oumma Pro — Informational Links
The plugin settings pages contain standard hyperlinks to the Oumma Pro website (https://oumma-pro.com/) for documentation, premium upgrade information, and an SMTP plugin recommendation (Oumma Contact). These are plain HTML links — no data is sent to oumma-pro.com by clicking these links, and no remote resources (scripts, styles, or images) are loaded from this domain.
- Service provider: Oumma Pro (oumma-pro.com)
- Privacy Policy: https://oumma-pro.com/politique-de-confidentialite/
YouTube and Vimeo — Video Embedding
The plugin content editor allows administrators to embed YouTube and Vimeo videos in course pages. When a video URL is entered, the plugin generates a standard iframe embed URL (e.g., https://www.youtube.com/embed/VIDEO_ID or https://player.vimeo.com/video/VIDEO_ID). These embed URLs are stored as part of the page content in the WordPress database.
When a student views a page containing an embedded video, their browser loads the video directly from YouTube or Vimeo servers. The plugin itself does not load any JavaScript libraries or APIs from YouTube or Vimeo — it only generates standard embed markup from user-provided URLs.
- YouTube — Service provider: Google LLC
- Terms of Service: https://www.youtube.com/t/terms
- Privacy Policy: https://policies.google.com/privacy
- Vimeo — Service provider: Vimeo, Inc.
- Terms of Service: https://vimeo.com/terms
- Privacy Policy: https://vimeo.com/privacy
Screenshots







Installation
- Upload the
oumma-learning-managementfolder to the/wp-content/plugins/directory, or install directly through the WordPress plugin installer. - Activate the plugin through the Plugins menu in WordPress.
- Go to Oumma Learning Management Courses to create your first course.
- Add categories (modules) and pages (lessons) to your course.
- Create a WordPress page and paste the shortcode
[learning_management id="1"]. - Add students manually and send their credentials by email.
- Configure settings under Oumma Learning Management Settings (language, design, email sender).
FAQ
-
Do students need a WordPress account?
-
No. Students have their own independent login system managed by the plugin. Their accounts are not WordPress user accounts.
-
Can I sell access to courses?
-
Yes, with the Pro add-on. Link a WooCommerce product to a course. When a customer completes a purchase, a student account is automatically created and credentials are sent by email.
-
Does it work with page builders?
-
The plugin uses a standard WordPress shortcode
[learning_management id="X"], which works with most page builders including Elementor, Divi, and the default block editor. -
Is the plugin multisite compatible?
-
The plugin has not been tested on WordPress Multisite installations yet.
-
Can I customize the appearance?
-
Yes. The Design tab in Settings offers full color customization including sidebar, content area, buttons, progress bar and more.
-
Does Text-to-Speech work in all languages?
-
Text-to-Speech uses the browser’s built-in SpeechSynthesis API — no external service is used. Availability and quality depend on the browser and operating system. Most modern browsers support major languages. Word-by-word highlighting is available on desktop browsers only.
-
Can I have multiple courses?
-
Yes! You can create unlimited courses in the free version. The Pro add-on adds WooCommerce integration, import/export, and more.
-
How do I back up my data?
-
Data backup is available with the Pro add-on, which provides full JSON export/import and CSV student/progress export.
-
Does this plugin use external services?
-
Yes. Please see the “External services” section below for full details. In summary: the plugin contacts oumma-pro.com for premium license management (only when activated by the administrator) and generates YouTube/Vimeo embed URLs from video links entered by the administrator.
-
Does this plugin comply with GDPR?
-
The plugin stores student data (username, password hash, email, progress) in your own WordPress database. No student data is sent to any third-party service. License management data (license key, site URL) is sent to oumma-pro.com only when the administrator activates a premium license. See the “External services” section for complete details.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Oumma Learning Management” is open source software. The following people have contributed to this plugin.
Contributors“Oumma Learning Management” has been translated into 1 locale. Thank you to the translators for their contributions.
Translate “Oumma Learning Management” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.7.1
- Removed license validation code from free version — replaced with informational Pro page.
- License management is now handled entirely by the Pro add-on.
1.7.0
- Fixed: Inline CSS values are now validated and sanitized before output (hex, rgba, numeric whitelist).
1.6.9
- Sidebar customization is now fully available in the free version (all 8 color/width settings).
- Fixed: Logout URL now includes nonce verification to prevent CSRF.
- Audio controller feature label added to Pro add-on description.
1.6.8
- Fixed: Sidebar save handler no longer references premium status — uses form field detection instead.
- Fixed: All remaining raw variable outputs in HTML attributes properly escaped.
1.6.7
- Fixed: Sidebar design section now uses visual-only preview in free version (no functional inputs).
- Fixed: Removed all email attribution (“Sent via”, “Sent by”) from student and admin emails.
- Fixed: wp_json_encode outputs wrapped with esc_attr() in HTML attributes.
- Fixed: admin_url() outputs wrapped with esc_url().
- Fixed: date_i18n() outputs wrapped with esc_html().
- Fixed: All remaining raw variable outputs properly escaped.
1.6.6
- Fixed: Removed “Powered by” credit link from email templates.
- Fixed: All raw variable outputs in HTML attributes now properly escaped (intval/esc_attr).
- Fixed: Bug report list output properly escaped.
- Fixed: Active/Inactive student status badges properly escaped.
- Fixed: Color picker fields properly escape label, name and hint.
1.6.5
- Security hardening: sanitization, escaping, enqueue compliance.
- Removed all inline scripts and styles — moved to enqueued files.
- All nonce checks now use sanitize_text_field( wp_unslash() ).
- Email template footer cleanup.
1.6.4
- Complete translation audit — 100% coverage across 11 languages.
1.6.1
- New: Sidebar accordion navigation.
- New: “Read and Understood” confirmation button per page.
- Improved: Mobile layout responsive top bar, audio player and pagination.
- Fix: Text-to-Speech word highlighting on mobile browsers.
1.6.0
- New: Usage Guide redesign with step cards in admin dashboard.
- 17 new translatable strings across all 11 languages.
1.5.0
- New: Custom i18n system — plugin language independent from WordPress locale.
- New: 11 selectable languages with visual language picker.
- New: Per-course settings section.
- New: Session duration and login attempts configuration.
1.4.0
- New: Forgot password system with email recovery.
- New: SMTP sender configuration for plugin emails.
- New: “Delete on uninstall” option for complete data cleanup.
- Improved: Admin interface with card-based layout and tabbed settings.
1.2.0
- Full WordPress Plugin Check compliance.
- Security hardening across all files.
1.1.0
- New: Complete JavaScript localization.
- New: Plural translations with proper Plural-Forms headers.
1.0.0
- Initial release.
