# WordPress LMS 与会员插件

将受保护视频嵌入 WordPress 课程，由现有平台继续管理报名、购买和会员权限。

播放授权的流程

您的后端决定谁可以观看。DRM-X 提供播放授权，播放器使用该授权请求 DRM 许可证。

- 01**观看用户**

登录您的服务并请求播放视频。

- 02**您的后端**

检查用户的购买记录、订阅状态或其他观看权限。

- 03**DRM-X**

应用所选播放规则，返回播放配置和授权信息。

- 04**播放器**

使用返回的授权信息，请求播放所需的 DRM 许可证。

您的后端判断用户是否有权观看，DRM-X 执行签名授权中的播放策略。加密媒体与 DRM 许可证通过各自的服务传送给播放器。

## 安装与配置[#](#install)



下载下方插件 ZIP 文件。在 WordPress 中打开 Plugins → Add Plugin → Upload Plugin，上传并安装 ZIP，然后启用 DRM-X 6.0 Universal Player。接着打开 Settings → DRM-X 6.0。建议先在测试站点完成配置。



填写具备 license-tokens:create 权限的服务器集成对应的 Site ID、Site Key 和 Access Key。这些值保留在服务器端。插件使用 WordPress 身份验证 salt 加密保存 Access Key；更换 salt 后需要重新填写。



选择 LMS 权限适配器和默认许可证策略。“WordPress 已登录用户”模式允许所有已登录账号观看已映射且已发布的文章；付费课程应选择对应的 LMS 或会员适配器。



[下载 WordPress 插件](https://drm-x6-cdn.1aicloud.com/drmx-wordpress-1.3.0-preview.2-2e5e9d239b8d.zip)



填写连接信息后，点击 Save settings 保存。截图中的值均为占位示例，请替换为您自己的配置。更新现有连接时，Access Key 留空会保留已保存的密钥。

[![1. 插件设置：配置连接信息、权限适配器、会员要求及默认保护策略。截图中的凭据已替换为占位示例。](https://docs.drm-x.com/assets/wordpress/settings.png)](https://docs.drm-x.com/assets/wordpress/settings.png)1. 插件设置：配置连接信息、权限适配器、会员要求及默认保护策略。截图中的凭据已替换为占位示例。 



## 映射课时并嵌入播放器[#](#mapping)



使用 WordPress 管理员账号登录，打开页面或 LMS 课时，点击区块添加按钮（+），搜索并插入 DRM-X Protected Video 区块。您可以直接在区块内填写 Content ID；右侧 Block → DRM-X video 面板也提供相同字段。


- 从 DRM-X 控制台中已发布的视频复制 Content ID，并粘贴到 Content ID 输入框。不要填写 Site ID、视频 URL 或 WordPress 页面 ID。
- 打包加密的视频选择 Video on demand (VOD)，直播内容选择 Live stream。所选类型必须与已发布内容一致。
- 选择 Protection policy，或保留 Use course or site default 以继承策略。截图中的 Require HDCP 仅为示例，并非所有视频都必须选择此项。
- 已发布页面点击 Save；准备新页面时可先点击 Save draft。页面准备完成后再发布给学员。重新打开编辑器，确认 Content ID 和策略已保存。

[![2. 选中 DRM-X Protected Video，填写 Content ID、内容类型和策略。区块内和右侧面板均可设置。截图中的 Content ID 为占位示例。](https://docs.drm-x.com/assets/wordpress/content-id-and-policy.png)](https://docs.drm-x.com/assets/wordpress/content-id-and-policy.png)2. 选中 DRM-X Protected Video，填写 Content ID、内容类型和策略。区块内和右侧面板均可设置。截图中的 Content ID 为占位示例。 

为 LMS 课时配置权限时，可在右侧 Block 设置栏展开 Course and access rules，选择权限适配器并填写课程 ID。若要引用其他页面已配置的视频，请展开 Use a video configured on another page 并填写该页面 ID；使用当前页面时保留 0。使用 Classic Editor 或 Elementor 时，仍可在页面的传统 DRM-X Protected Video 面板中配置视频，再插入小工具或以下短代码。



对于 LearnPress 和 MasterStudy 课时，请选择对应的 Access adapter，并填写实际的 LMS course ID。LearnDash、Tutor LMS 和 Sensei 通常可自动识别课程。普通 WordPress 页面保留 0。下图中的 123 仅为示例，请替换为实际课程 ID。

[![3. 在 Block → Course and access rules 中设置课程权限。示例选择 LearnPress，并使用示例课程 ID。课程报名要求与附加会员要求必须同时满足。](https://docs.drm-x.com/assets/wordpress/course-access.png)](https://docs.drm-x.com/assets/wordpress/course-access.png)3. 在 Block → Course and access rules 中设置课程权限。示例选择 LearnPress，并使用示例课程 ID。课程报名要求与附加会员要求必须同时满足。 

```
[drmx_player]
[drmx_player post_id="123"]
```



策略按以下顺序生效：课时策略、关联课程策略、站点默认策略、DRM-X 环境默认策略。课时策略留空表示继承，不会跳过课程和站点设置。请选择与内容密钥模式及目标设备相匹配的策略。





## 各适配器如何检查权限[#](#adapters)



LearnPress 同时检查课程权限和具体课程内容项。Tutor LMS 检查课时及其所属课程的报名权限。Sensei LMS 使用原生课时权限检查，包括前置学习要求。MasterStudy LMS 检查已配置的课程与课时。



LearnDash 检查课程访问权限，以及学员是否有权访问所请求的课程步骤。该插件的商业版本仍需使用您的授权版本进行验证。



WooCommerce Memberships、MemberPress 和 Paid Memberships Pro 使用各自的文章访问规则。附加会员适配器与 LMS 权限检查同时生效，两项检查都通过才能播放。WooCommerce Subscriptions 通过 Memberships 的访问规则生效；仅有订阅名称或已完成订单并不能直接授权课时播放。



启用 Tutor LMS 内容逐步开放或 MasterStudy 顺序开放功能时，插件要求通过服务器端过滤器检查具体课时；默认拒绝播放。请先根据您的授权扩展实现 drmx_tutor_drip_access 或 drmx_masterstudy_drip_access，再启用相应课时。



Tutor LMS 与 Sensei LMS 同时安装时，应为共用的课时文章类型明确指定适配器。自定义集成可使用 drmx_user_can_play_content，只有服务器确认用户有权观看后才能返回 true。





## 打开页面并测试 Universal Player[#](#preview)

使用有权访问的学员账号打开已保存的页面，并点击 Play。编辑器中显示配置字段，学员页面则显示 DRM-X 6.0 Universal Player。请求播放会话前，WordPress 会检查当前用户权限和已保存的内容映射。

[![4. WordPress 测试页面中的 Universal Player，已启动 PlayReady 会话并暂停。截图展示了播放控件和已播放时间；受保护的视频画面在截图中显示为黑色。](https://docs.drm-x.com/assets/wordpress/universal-player.png)](https://docs.drm-x.com/assets/wordpress/universal-player.png)4. WordPress 测试页面中的 Universal Player，已启动 PlayReady 会话并暂停。截图展示了播放控件和已播放时间；受保护的视频画面在截图中显示为黑色。

点击齿轮按钮打开 Playback settings。可选清晰度、音轨和字幕取决于已发布内容。设备支持时，可使用音量、字幕、画中画、影院模式和全屏控件。结束会话时，打开 More options → Stop playback。

[![5. Universal Player 设置：清晰度、音轨、字幕、播放速度和睡眠定时器。可用选项因内容和设备支持情况而异。](https://docs.drm-x.com/assets/wordpress/player-settings.png)](https://docs.drm-x.com/assets/wordpress/player-settings.png)5. Universal Player 设置：清晰度、音轨、字幕、播放速度和睡眠定时器。可用选项因内容和设备支持情况而异。



## 找不到 Content ID 输入框或播放器时[#](#troubleshooting)

从 preview.1 升级后，请先保存尚未保存的页面修改，再刷新编辑器以加载新版区块。选中 DRM-X Protected Video 区块后，preview.2 会直接显示 Content ID，无需展开旧版 Meta Boxes 区域。

只有同时具备页面编辑权限的管理员才能修改 DRM-X 内容映射。其他角色编辑页面时，请联系站点管理员配置视频。

Mapped post ID 是可选的 WordPress 页面引用，用于复用其他页面已配置的 DRM-X 视频。它不是 Content ID。为当前页面配置视频时保留 0。使用同一页面映射的所有区块会播放同一个视频。

播放被拒绝时，请检查内容是否已在当前 DRM-X 环境发布、内容类型是否一致，以及学员是否有权访问该课时。同时检查 LMS 适配器、课程 ID 和附加会员要求。不要为了绕过权限错误而将付费课程改为 WordPress signed-in users。



## 上线前验证[#](#verify)



本地测试覆盖 WordPress 7.1、LearnPress 4.4.7、Tutor LMS 4.0.8、Sensei LMS 4.26.3 和 MasterStudy LMS 3.7.49，验证了已报名、未报名以及未发布课时等基础场景。这并不代表所有付费扩展、主题或后续平台版本均已验证。



请勿将受保护页面和 DRM-X REST 接口加入跨用户共享缓存。请使用您自己的已发布内容验证会员到期、退款、课时开放时间、页面导航、停止播放以及并发播放限制。

<!-- Canonical: https://docs.drm-x.com/zh-Hans/integrations/wordpress-lms -->
<!-- Language: zh-Hans -->
