CourseTransit is a WooCommerce + Moodle integration plugin for WordPress that helps sync Moodle courses into WooCommerce products and automate enrollment workflows after purchase.
It is designed for online course businesses that want to:
- Sell Moodle courses through WooCommerce
- Sync Moodle courses into WordPress
- Manage instructors and enrollments
- Automate course access after successful orders
- Monitor order activity from the WordPress admin
- Connect WordPress with Moodle using the dedicated CourseTransit Moodle plugin
- Generate secure connection tokens directly from the CourseTransit Moodle plugin
- Sync Moodle courses into WordPress
- Automatically create and link WooCommerce products during course synchronization
- Automatic enrollment after WooCommerce purchase
- Attach Moodle courses to WooCommerce products
- Detect CourseTransit-enabled products in orders
- Process enrollments after successful payment
- Compatible with WooCommerce order lifecycle
- Custom admin dashboard built with Bootstrap/Shards UI
- Course overview and statistics
- Order insights
- Centralized plugin management panel
- Sync and manage Moodle courses
- View synced course records
- Associate courses with WooCommerce products
- Manage course metadata
- Instructor listing and management
- Instructor-course relationships
- Admin-side management workflow
- Custom email template support
- Enrollment-related email handling
- Centralized email configuration
- Internal logging system
- Debug support using WordPress debug mode
- Enrollment and API troubleshooting support
- WordPress 6.0+
- PHP 7.4+
- WooCommerce installed and activated
- Moodle with the CourseTransit Moodle plugin installed
- Latest stable WooCommerce version
- PHP 8.1+
- HTTPS-enabled website
- WordPress
- WooCommerce
- Moodle
- CourseTransit Moodle Plugin
- Download the plugin ZIP.
- Go to WordPress Admin → Plugins → Add New.
- Upload the plugin ZIP.
- Activate the plugin.
- Ensure WooCommerce is already installed and active.
Clone or copy the plugin into:
wp-content/plugins/coursetransitActivate the plugin from the WordPress admin.
CourseTransit includes a dedicated Moodle plugin that simplifies the connection process between Moodle and WordPress.
The Moodle plugin provides:
- Secure token generation
- WordPress website registration
- Moodle-to-WordPress communication
- Course synchronization support
- Centralized integration management
After installing the Moodle plugin:
- Register the WordPress website from Moodle
- Generate the secure integration token automatically
- Connect the WordPress plugin using the generated token
- Start syncing courses
You will need:
- Moodle Site URL
- CourseTransit integration token
After activation:
- Open:
WordPress Admin → CourseTransit
- Configure:
- Moodle URL
- CourseTransit Web Service Token
- Email settings
-
Save settings.
-
Test Moodle connection.
The plugin can fetch Moodle courses and automatically create linked WooCommerce products inside WordPress.
Typical workflow:
- Connect Moodle
- Run course sync
- Courses appear in CourseTransit admin panel
- WooCommerce products are automatically created and linked
- Course mappings are stored automatically
During synchronization, CourseTransit can automatically create WooCommerce products for Moodle courses.
The plugin automatically stores Moodle course relationships against WooCommerce products during synchronization.
Manual product mapping can still be used when needed.
When a customer purchases the linked product, the plugin processes Moodle enrollment automatically.
- Customer purchases a WooCommerce product
- WooCommerce order is completed/processed
- CourseTransit detects the mapped Moodle course
- Moodle API enrollment request is sent
- User receives access to the Moodle course
Overview of:
- Orders
- Course statistics
- Enrollment information
- Activity summaries
Manage synced Moodle courses.
Manage instructor records and mappings.
View CourseTransit-related WooCommerce orders.
Manage enrollment email templates.
Configure Moodle connection.
coursetransit/
├── app/
│ ├── Controllers/
│ ├── Emails/
│ ├── Helpers/
│ ├── Models/
│ ├── Services/
│ ├── Support/
│ └── Views/
├── assets/
├── bootstrap/
├── languages/
├── vendor/
├── coursetransit.php
└── uninstall.php
Handles Moodle API communication.
Processes Moodle enrollments.
Handles syncing Moodle courses into WordPress.
Adds CourseTransit fields to WooCommerce products.
The plugin stores:
- Synced courses
- Instructor information
- Plugin settings
- Email templates
- Enrollment/order-related metadata
Custom tables may be created during plugin installation.
The plugin includes:
- Nonce verification
- Sanitization and escaping
- WooCommerce dependency checks
- Safe AJAX handling
- WordPress coding standards improvements
The uninstall routine can remove:
- Plugin options
- Custom database tables
- Stored plugin data
Always back up your database before uninstalling.
Enable WordPress debugging:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);Logs may help diagnose:
- Moodle connection failures
- Enrollment issues
- Sync errors
- WooCommerce integration problems
The plugin follows WordPress coding standards and is actively being improved for:
- PHPCS compliance
- Plugin Check compatibility
- Sanitization/security improvements
- Performance optimization
Autoloading is handled using Composer and PSR-4 style class loading.
Yes. WooCommerce must be installed and activated.
Yes. A Moodle site with the CourseTransit Moodle plugin installed is required.
Yes. Different WooCommerce products can map to different Moodle courses.
Yes. Enrollment is triggered after WooCommerce order processing.
Check:
- Moodle URL
- CourseTransit integration token
- CourseTransit Moodle plugin installed correctly
- Integration token is valid
- Website registration completed
Check:
- WooCommerce order status
- Product-course mapping
- CourseTransit token permissions
- Debug logs
Check:
- CourseTransit Moodle plugin connection
- Integration token validity
- Website registration status
- Server timeouts
- Improved WooCommerce integration
- Bootstrap/admin UI improvements
- Added cleanup and uninstall improvements
- PHPCS and Plugin Check fixes
- Improved logging and debugging workflow
- General stability updates
GPL v3 or later
This plugin is licensed under the GNU General Public License v3.0.
JustAddWater
Website: https://justaddwater.in/