Upload SCORM, xAPI and HTML5 course packages to WordPress with built-in progress tracking, LearnDash integration, Elementor & Gutenberg support, and Amazon S3 / BunnyCDN storage.
The complete solution for educators and course creators to upload, track, and display SCORM, xAPI, and HTML5 content directly on WordPress websites.
Upload SCORM, xAPI/Tin Can, or plain HTML5 packages with a few clicks — the plugin auto-detects the package type.
Use a shortcode, Gutenberg block, or Elementor widget to embed your courses anywhere on your site.
Automatically capture completion, scores, and progress for logged-in learners — no external LMS required.
Enable fullscreen viewing with floating player controls for an immersive learning experience.
A major upgrade that turns the plugin into a full SCORM/xAPI delivery and tracking solution
Upload SCORM 1.2, SCORM 2004, or xAPI/Tin Can packages. The built-in SCORM runtime handles Initialize, Commit, and completion automatically — no extra LMS plugin needed.
Completion status, pass/fail results, scores, and suspend data are saved for every logged-in learner in a dedicated tracking table.
Offload large course packages from your WordPress server and serve them from Amazon S3, an S3-compatible service like Cloudflare R2, or BunnyCDN.
When a course is completed, the matching LearnDash lesson or topic is marked complete automatically, with auto-enrollment and auto-created lessons.
Add courses with a native Gutenberg block or Elementor widget — pick a course and configure the player visually, no shortcode typing required.
A new Reports screen shows completion and scores per user and course, with filtering, detailed CMI data views, and CSV export.
Powerful tools to enhance your eLearning content delivery
Works with all major eLearning authoring tools that export to SCORM, xAPI, or HTML5 format:
Everything you need to know to get started
Plugins > Add NewPlugins > Add New > Upload PlugineLearning Courses > Upload Course in your WordPress admineLearning Courses to view your uploaded courseseLearning Courses > Reports to filter results by user, course, or status, view raw CMI data, or export to CSVThe basic shortcode format is:
[preview_course id="course_id"]
Additional parameters include:
| Parameter | Description | Example |
|---|---|---|
width |
Set the width of the player | width="100%" or width="800px" |
height |
Set the height of the player | height="600px" |
fullscreen |
Enable/disable fullscreen button | fullscreen="yes" or fullscreen="no" |
show_title |
Show/hide the course title | show_title="yes" or show_title="no" |
show_author |
Show/hide the author name | show_author="yes" or show_author="no" |
show_description |
Show/hide the course description | show_description="yes" or show_description="no" |
controls_display |
Show/hide the floating player controls (open in new tab, fullscreen) | controls_display="yes" or controls_display="no" |
controls_position |
Position of the floating controls over the player | controls_position="top-right", top-left, bottom-right, or bottom-left |
Full example:
[preview_course id="1" width="800px" height="500px" fullscreen="yes" show_title="yes" show_author="yes" show_description="no" controls_display="yes" controls_position="top-right"]
Prefer a visual editor? The same course, dimensions, and fullscreen option are available from the Gutenberg block and Elementor widget without writing a shortcode.
Course packages can grow large, especially with embedded video and audio. Choose where files are physically stored from eLearning Courses > Settings > Storage Settings:
wp-content/uploads/courses/ on your WordPress serverSwitching providers only affects new uploads — the storage provider is written into the shortcode/player logic through the Storage Manager, so playback keeps working regardless of where a given course's files live.
If LearnDash is installed and active, eLearning Course Uploader automatically syncs SCORM/xAPI course completion with LearnDash:
eLearning Courses > DiagnosticsThis is an integration with the separate LearnDash LMS plugin — LearnDash must already be installed and active for these features to appear.
SCORM 1.2 packages, SCORM 2004 packages, xAPI/Tin Can packages, or plain HTML5 packages with an index.html or story.html entry point. The plugin detects the package type automatically from its manifest. This covers content from Articulate Storyline, Adobe Captivate, iSpring, Lectora, H5P, Adapt, and other SCORM/HTML5-exporting authoring tools.
The upload limit depends on your server configuration. The plugin itself doesn't impose any specific limitation, but your web hosting might have restrictions on maximum upload sizes. For large packages, connecting an Amazon S3 or BunnyCDN storage provider can help avoid local server limits.
Yes. For SCORM and xAPI packages, the plugin includes a built-in SCORM runtime that captures completion status, pass/fail, and scores for every logged-in learner, viewable in the new Reports dashboard. Progress tracking requires the learner to be logged in — it is not recorded for anonymous visitors.
Yes. In addition to local storage, you can connect Amazon S3 (or an S3-compatible service like Cloudflare R2) or BunnyCDN from Settings, using your own cloud storage/CDN account credentials.
Yes. If LearnDash is active, course completion automatically syncs to the matching LearnDash lesson/topic. Courses can also be embedded with a native Gutenberg block or Elementor widget, in addition to the shortcode.
Yes! The plugin is designed to be compatible with any properly coded WordPress theme. The iframe-based player adapts to your theme's layout.
See the plugin in action
Course Management Interface
Upload Course & Storage Settings
Course Player with SCORM Tracking
Reports & Diagnostics Dashboard
Help us improve the plugin
Your support helps us continue development and provide timely updates.