Tutor Multisite Compatibility
一个 WordPress 插件,为多站点环境中的 Tutor LMS 添加兼容性修复。
描述
该插件为在 WordPress 多站点网络上运行 Tutor LMS 提供必要的兼容性修复。它处理用户注册、教师管理、课程限制以及其他多站点特定功能。
功能
- 数据库表管理:自动检测并创建因多站点外键约束导致失败的缺失 Tutor LMS 表。
- 多站点用户注册:跨网络站点管理用户注册的自定义 AJAX 处理程序。
- 教师角色管理:在多站点环境中自动分配和管理教师角色。
- 课程限制:与 Ultimate Multisite 集成,根据站点计划管理课程和漏斗创建限制。
- 自定义管理员视图:多站点 感知的教师列表和管理界面。
- 管理员工具:网络和站点管理员的数据库管理界面。
要求
- WordPress 5.0+
- PHP 7.4+
- Tutor LMS 插件(通过
Requires Plugins标头自动强制执行) - WordPress 多站点安装
- Ultimate Multisite 插件(用于课程限制功能)
安装
- 将插件文件上传到
/wp-content/plugins/tutor-multisite-compatibility/ - 确保已安装并激活 Tutor LMS
- 通过 WordPress 的 '插件' 菜单激活插件
- 插件将自动与 Tutor LMS 集成
文件结构
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
从 MU 插件迁移的功能
此插件包含以前位于 wp-content/mu-plugins/daves.php 的功能:
- 课程状态更改限制
- 课程创建限制
- CartFlows 集成和限制
- Tutor 教师角色管理
- 多站点用户注册处理
- 课程产品 ID 显示
数据库管理
问题
在 WordPress 多站点环境中,Tutor LMS 表的创建会因对 users 表的外键约束而失败。这是因为:
- 站点特定表使用类似
wp_2_tutor_carts的前缀 - 外键引用
wp_2_users(不存在) - 实际的 users 表是
wp_users(在整个网络中共享)
解决方案
此插件会自动:
- 检测缺失表:检查因外键约束导致创建失败的表
- 使用正确的引用创建表:使用正确的用户表名(多站点中的
wp_users) - 处理多种场景:
- 插件激活/重新激活
- 网络中新站点创建
- 通过管理员界面手动检查表
受影响的表
tutor_coupon_usages- 包含指向 users 表的外键tutor_carts- 包含指向 users 表的外键tutor_notification_preferences- TutorPro 表,包含指向 users 表的外键
管理界面
在以下位置访问数据库管理工具:
- 网络管理员:设置 → Tutor Multisite DB
- 站点管理员:工具 → Tutor Multisite DB
该界面允许您:
- 查看所有站点缺失的表
- 手动触发表创建
- 检查数据库配置
- 查看详细状态信息
支持
此插件专为 KursoPro 平台设计。如需技术支持,请联系开发团队。