安装Tutor LMS插件后出现CourseModel类未找到致命错误求助
Tutor LMS 插件安装后致命错误及警告解决方法
环境信息
- PHP版本:8.0.30
- Tutor LMS版本:2.4.0
报错详情
致命错误
致命错误:未捕获错误:未找到类“Tutor\Models\CourseModel”,抛出位置:/var/www/h/wp-content/plugins/tutor/classes/Course.php第142行 堆栈跟踪: #0 /var/www/h/wp-content/plugins/tutor/classes/Tutor.php(494): TUTOR\Course->__construct() #1 /var/www/h/wp-content/plugins/tutor/classes/Tutor.php(437): TUTOR\Tutor->__construct() #2 /var/www/h/wp-content/plugins/tutor/tutor.php(158): TUTOR\Tutor::instance() #3 /var/www/h/wp-content/plugins/tutor/tutor.php(178): tutor_lms() #4 /var/www/h/wp-settings.php(473): include_once(‘…’) #5 /var/www/h/wp-config.php(115): require_once(‘…’) #6 /var/www/h/wp-load.php(50): require_once(‘…’) #7 /var/www/h/wp-blog-header.php(13): require_once(‘…’) #8 /var/www/h/index.php(17): require(‘…’) #9 {main}
警告信息
通知:函数is_embed调用错误。条件查询标签在查询运行前无法工作,此时始终返回false。详情请查看WordPress调试文档(此信息添加于3.1.0版本),位置:/var/www/h/wp-includes/functions.php第6031行 通知:函数is_search调用错误。条件查询标签在查询运行前无法工作,此时始终返回false。详情请查看WordPress调试文档(此信息添加于3.1.0版本),位置:/var/www/h/wp-includes/functions.php第6031行
解决步骤
1. 重新安装插件,确保文件完整性
- 登录WordPress后台,进入「插件」页面,禁用并删除Tutor LMS插件
- 从官方插件库重新下载对应版本(2.4.0)的安装包,上传并重新安装
- 操作前备份课程相关数据,避免丢失
2. 检查缺失的类文件
- 登录服务器,检查路径
/var/www/h/wp-content/plugins/tutor/models/CourseModel.php是否存在 - 如果文件缺失,从官方插件安装包中提取该文件,上传到对应目录
3. 验证PHP版本兼容性
- 暂时将PHP版本切换到7.4测试,若错误消失,说明Tutor LMS 2.4.0对PHP8.0的适配存在问题
- 尝试升级Tutor LMS到更高版本(需确保兼容当前WordPress版本),新版本通常会修复PHP版本兼容问题
4. 修复查询标签调用时机问题
- 警告是因为
is_embed()和is_search()在WordPress查询初始化前被调用导致的 - 找到Tutor LMS中调用这两个函数的代码,将逻辑移到
wp钩子之后执行,示例代码:add_action('wp', function() { if (is_embed()) { // 原业务逻辑代码 } if (is_search()) { // 原业务逻辑代码 } }); - 若暂时无法修改代码,可在
wp-config.php中设置define('WP_DEBUG', false);隐藏警告,但建议从根源修复
5. 排查插件冲突
- 禁用所有其他插件,仅保留Tutor LMS,刷新网站看错误是否消失
- 若错误消失,逐个启用其他插件,定位到冲突插件后,尝试更新该插件或联系其开发者解决
内容的提问来源于stack exchange,提问作者MD. Tahuruzzoha Tuhin
相关产品推荐
相关产品推荐

