Wordpress站点Learndash全量课程/主题/课时跨站导入导出方案
LearnDash 全量课程迁移操作方案
针对你提到的100门课程、2000个主题的规模,分两个路径给出可落地的操作方法:
路径一:直接通过数据库迁移的完整操作流程
- 前置准备
- 操作前分别给源站、目标站做全量数据库+媒体文件备份,避免操作失误造成不可恢复的数据丢失
- 对齐两个站点的WordPress核心版本、LearnDash插件版本,版本差过大容易出现数据字段不兼容的问题
- 第一步:定位需要导出的关联数据表
LearnDash的课程、主题、课时数据不是存在独立的单独表中,而是分散在WordPress核心表和专属表中,不要直接整库导出(会带入无关的用户、插件配置内容,干扰目标站现有数据),需要导出的关联内容包含:- 存储课程、课时、主题内容的自定义文章表:
wp_posts、wp_postmeta,筛选时仅保留post_type为sfwd-courses、sfwd-lessons、sfwd-topic、sfwd-quiz的记录即可 - 存储课程分类、标签关联关系的表:
wp_terms、wp_term_taxonomy、wp_term_relationships - LearnDash专属存储课程规则、进度关联的表:前缀为
wp_ld_开头的所有插件专属表
- 存储课程、课时、主题内容的自定义文章表:
- 第二步:源站导出匹配数据
用phpMyAdmin、Adminer这类数据库管理工具,筛选上述匹配的记录,导出为标准化SQL文件;同时单独把源站wp-content/uploads目录下和课程相关的课件、视频、附件文件打包导出,数据库导入不会同步媒体实体文件。 - 第三步:目标站导入适配
- 先在目标站安装和源站同版本的LearnDash插件,避免插件未安装导致数据无法识别
- 批量调整导出的SQL文件内容:把所有表名的前缀替换为和目标站数据库一致的前缀,同时把SQL里的源站域名批量替换为目标站域名,避免导入后链接跳转错误
- 导入前临时备份目标站现有同结构的表,避免出现主键冲突导致导入失败
- 第四步:导入后校验
登录目标站后台,核对课程层级关系、内容完整性,随机访问几个课程链接确认是否正常加载,再测试课程设置的访问权限是否和源站一致。
路径二:一体化导入导出插件方案
不需要选择功能拆分的双插件方案,这类单插件的一体化工具操作门槛比手动导库更低,数据兼容性更稳,目前适配LearnDash的一体化方案主要有两类:
- LearnDash官方原生导入导出功能:从3.0版本开始,官方插件内置了完整的导入导出模块,支持一键全选所有课程、主题、课时、关联分类、测验数据,导出为标准XML格式文件,在目标站同版本插件下直接导入即可自动匹配内容层级,不需要手动筛选数据库内容,出错率远低于手动操作数据库
- 支持自定义文章类型识别的通用WordPress迁移工具:这类工具会自动识别LearnDash的自定义文章结构、关联元数据,支持跨站点直接迁移选中的课程内容,同时会自动处理媒体文件路径、数据主键的兼容问题,不需要手动调整SQL文件,适合没有数据库操作经验的场景。
内容的提问来源于stack exchange,提问作者jejegoodgame
相关产品推荐
相关产品推荐

