Version 1.2.8

eLearning Course Uploader

Upload SCORM, xAPI and HTML5 course packages to WordPress with built-in progress tracking, LearnDash integration, Elementor & Gutenberg support, and Amazon S3 / BunnyCDN storage.

Seamlessly Upload & Embed eLearning Courses

The complete solution for educators and course creators to upload, track, and display SCORM, xAPI, and HTML5 content directly on WordPress websites.

Simple Uploads

Upload SCORM, xAPI/Tin Can, or plain HTML5 packages with a few clicks — the plugin auto-detects the package type.

Easy Embedding

Use a shortcode, Gutenberg block, or Elementor widget to embed your courses anywhere on your site.

Built-in Tracking

Automatically capture completion, scores, and progress for logged-in learners — no external LMS required.

Fullscreen Mode

Enable fullscreen viewing with floating player controls for an immersive learning experience.

What's New in Version 1.2.8

A major upgrade that turns the plugin into a full SCORM/xAPI delivery and tracking solution

SCORM & xAPI Support

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.

Progress & Score Tracking

Completion status, pass/fail results, scores, and suspend data are saved for every logged-in learner in a dedicated tracking table.

Amazon S3 & BunnyCDN Storage

Offload large course packages from your WordPress server and serve them from Amazon S3, an S3-compatible service like Cloudflare R2, or BunnyCDN.

LearnDash Integration

When a course is completed, the matching LearnDash lesson or topic is marked complete automatically, with auto-enrollment and auto-created lessons.

Gutenberg & Elementor

Add courses with a native Gutenberg block or Elementor widget — pick a course and configure the player visually, no shortcode typing required.

Reporting Dashboard

A new Reports screen shows completion and scores per user and course, with filtering, detailed CMI data views, and CSV export.

Key Features

Powerful tools to enhance your eLearning content delivery

Simplified Course Management

Perfect
  • Upload SCORM, xAPI/Tin Can, or plain HTML5 packages (ZIP files) directly from your WordPress admin
  • Automatic package-type detection, extraction, and launch-file resolution
  • Effortlessly manage uploaded courses with a searchable, AJAX-powered interface
  • Preview courses before publishing to ensure everything looks perfect
Course Management Interface
Streamlined course management interface

Flexible Display Options

Customizable
  • Customizable iframe dimensions (width and height)
  • Toggle fullscreen capability with a floating fullscreen control
  • Floating "open in new tab" and fullscreen controls, positionable in any corner
  • Display or hide course title, author, and description
  • Configure global defaults, or customize per course or per shortcode
Display Options
Adaptable display options for any theme

Powerful Shortcode & Block Integration

Versatile
  • Simple shortcode embedding in any post or page
  • Native Gutenberg block and Elementor widget — no shortcode typing required
  • One-click shortcode and URL copying from the admin interface
  • Direct URL access for external linking
Shortcode Usage
Easy-to-use shortcode, block, and widget system

Cloud Storage, LearnDash & Reporting

New
  • Serve course files from Local storage, Amazon S3 (or S3-compatible services like Cloudflare R2), or BunnyCDN
  • Automatic LearnDash lesson/topic completion, enrollment, and lesson creation when LearnDash is active
  • Built-in Reports screen with per-user/per-course completion, scores, and CSV export
  • Diagnostics tool to verify SCORM tracking, storage, and LearnDash configuration
Storage and Reporting Settings
Storage providers, LearnDash sync, and course reports

Wide Authoring Tool Compatibility

Universal

Works with all major eLearning authoring tools that export to SCORM, xAPI, or HTML5 format:

Commercial Solutions

  • Articulate Storyline 360
  • Adobe Captivate
  • iSpring Suite
  • Lectora Inspire
  • Elucidat
  • Gomo Learning

Open Source & Free Tools

  • H5P
  • Adapt Learning
  • Evolve
  • Xerte
  • Moodle HTML exports
  • Custom HTML5 packages
Authoring Tool Compatibility
Compatible with all major authoring tools

Documentation

Everything you need to know to get started

Installation

  1. Via WordPress Admin:
    • Go to Plugins > Add New
    • Search for "eLearning Course Uploader"
    • Click "Install Now" and then "Activate"
  2. Manual Installation:
    • Download the plugin zip file
    • Go to Plugins > Add New > Upload Plugin
    • Choose the downloaded zip file and click "Install Now"
    • After installation, click "Activate Plugin"
  3. Upgrading from an older version:
    • Simply update the plugin as usual — your uploaded courses and settings are preserved automatically
    • The tracking database table is created/updated automatically on the first load after upgrading

Basic Usage

  1. Uploading a Course:
    • Navigate to eLearning Courses > Upload Course in your WordPress admin
    • Fill in the course details (title, author, description)
    • Upload your course ZIP package — SCORM 1.2, SCORM 2004, xAPI/Tin Can, or plain HTML5 are all detected automatically
    • Optionally set a password, and configure player settings (dimensions, fullscreen, floating controls)
    • Click "Upload Course"
  2. Embedding a Course:
    • Go to eLearning Courses to view your uploaded courses
    • Copy the shortcode, or add the course with the Gutenberg block ("eLearning Course" under Embed) or the Elementor widget
    • Paste the shortcode into any post or page, or drag in the block/widget
    • Publish or update your content to see the embedded course
  3. Reviewing progress:
    • Logged-in learners' completion, scores, and progress are saved automatically as they use SCORM/xAPI courses
    • Go to eLearning Courses > Reports to filter results by user, course, or status, view raw CMI data, or export to CSV

Shortcode Reference

The 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.

Storage & CDN Options

Course packages can grow large, especially with embedded video and audio. Choose where files are physically stored from eLearning Courses > Settings > Storage Settings:

  1. Local Storage (default):
    • Files are stored in wp-content/uploads/courses/ on your WordPress server
    • No setup required — works out of the box
  2. Amazon S3 / S3-compatible (e.g. Cloudflare R2):
    • Enter your Access Key ID, Secret Access Key, Bucket Name, and Region
    • Use the optional Custom Endpoint field to connect an S3-compatible provider such as Cloudflare R2 or DigitalOcean Spaces
    • Requires an existing AWS (or compatible) account — the plugin does not provide storage itself
  3. BunnyCDN:
    • Enter your Storage Zone Name, Storage API Key, and Pull Zone URL
    • Select the storage region closest to your audience
    • Requires an existing BunnyCDN account

Switching 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.

LearnDash Integration

If LearnDash is installed and active, eLearning Course Uploader automatically syncs SCORM/xAPI course completion with LearnDash:

  • When a course reports completion, a passing score, or success, the mapped LearnDash lesson or topic is automatically marked complete
  • Learners are automatically enrolled in the parent LearnDash course if they aren't already
  • Uploading a new course can automatically create a matching LearnDash lesson pre-filled with the course shortcode
  • Deleting a course also removes its linked LearnDash lesson/topic, keeping both in sync
  • Lesson/topic mappings and completion status can be reviewed and manually re-triggered from eLearning Courses > Diagnostics

This is an integration with the separate LearnDash LMS plugin — LearnDash must already be installed and active for these features to appear.

Frequently Asked Questions

What type of eLearning content can I upload?

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.

Is there a file size limit for uploads?

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.

Can I track user progress or completion?

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.

Can I store course files outside my WordPress server?

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.

Does it work with LearnDash, Elementor, and Gutenberg?

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.

Will the plugin work with any WordPress theme?

Yes! The plugin is designed to be compatible with any properly coded WordPress theme. The iframe-based player adapts to your theme's layout.

Screenshots & Walkthrough

See the plugin in action

Video Walkthrough

Support & Donations

Help us improve the plugin

Your support helps us continue development and provide timely updates.

PayPal

PayPal

Support development via PayPal

Buy Me A Coffee
Buy Me A Coffee

Buy Me A Coffee

Fuel new features and updates

Buy Me A Coffee
Ko-fi

Ko-fi

Support ongoing maintenance

Buy Me A Coffee

Other Ways to Support