Skip to main content
Paid AddonPurchase Tutor Multisite Compatibility | Install via your site's addon page or download from your account

Tutor Multisite Compatibility

A WordPress plugin that adds compatibility fixes for Tutor LMS in multisite environments.

Description​

This plugin provides essential compatibility fixes for running Tutor LMS on WordPress multisite networks. It handles user enrollment, instructor management, course limitations, and other multisite-specific functionality.

Features​

  • Database Table Management: Automatically detects and creates missing Tutor LMS tables that fail due to multisite foreign key constraints
  • Multisite User Enrollment: Custom AJAX handlers for managing user enrollment across network sites
  • Instructor Role Management: Automatic instructor role assignment and management in multisite environments
  • Course Limitations: Integration with Ultimate Multisite for managing course and funnel creation limits based on site plans
  • Custom Admin Views: Multisite-aware instructor list and management interface
  • Admin Tools: Database management interface for network and site administrators

Requirements​

  • WordPress 5.0+
  • PHP 7.4+
  • Tutor LMS plugin (automatically enforced via Requires Plugins header)
  • WordPress Multisite installation
  • Ultimate Multisite plugin (for course limitations functionality)

Installation​

  1. Upload the plugin files to /wp-content/plugins/tutor-multisite-compatibility/
  2. Ensure Tutor LMS is installed and activated
  3. Activate the plugin through the 'Plugins' menu in WordPress
  4. The plugin will automatically integrate with Tutor LMS

File Structure​

tutor-multisite-compatibility/
├── tutor-multisite-compatibility.php (Main plugin file)
├── includes/
│ ├── class-database-manager.php (Database table creation and management)
│ ├── class-admin-interface.php (Admin interface for database management)
│ ├── class-course-limits.php (Course and funnel limitation handlers)
│ ├── class-instructor-manager.php (Instructor role management)
│ ├── class-ajax-handlers.php (Custom AJAX handlers)
│ ├── class-query-helper.php (Database query utilities)
│ ├── models/
│ │ └── class-multisite-user-model.php (Multisite user model)
│ └── admin/
│ ├── class-instructors-list.php (Custom instructor list)
│ └── views/
│ └── instructors.php (Instructor admin view)
└── README.md

Functionality Moved from MU Plugin​

This plugin contains functionality that was previously in wp-content/mu-plugins/daves.php:

  • Course status change limitations
  • Course creation limitations
  • CartFlows integration and limits
  • Tutor instructor role management
  • Multisite user enrollment handling
  • Course product ID display

Database Management​

The Problem​

In WordPress multisite environments, Tutor LMS table creation fails for tables with foreign key constraints to the users table. This happens because:

  • Site-specific tables use prefixes like wp_2_tutor_carts
  • Foreign keys reference wp_2_users (which doesn't exist)
  • The actual users table is wp_users (shared across the network)

The Solution​

This plugin automatically:

  1. Detects Missing Tables: Checks for tables that failed to create due to foreign key constraints
  2. Creates Tables with Correct References: Uses the proper user table name (wp_users in multisite)
  3. Handles Multiple Scenarios:
    • Plugin activation/reactivation
    • New site creation in network
    • Manual table checking via admin interface

Affected Tables​

  • tutor_coupon_usages - Contains foreign key to users table
  • tutor_carts - Contains foreign key to users table
  • tutor_notification_preferences - TutorPro table with foreign key to users table

Admin Interface​

Access the database management tools at:

  • Network Admin: Settings → Tutor Multisite DB
  • Site Admin: Tools → Tutor Multisite DB

The interface allows you to:

  • View missing tables across all sites
  • Manually trigger table creation
  • Check database configuration
  • View detailed status information

Support​

This plugin is specifically designed for the KursoPro platform. For technical support, contact the development team.