Skip to content

WordPress 插件

本文介绍如何使用 WordPress 插件对接米卡云转码系统。

功能概述

WordPress 插件提供了一套完整的对接方案,可以在 WordPress 网站中展示和管理云转码系统的视频内容。

主要功能

  • 视频列表展示 - 在 WordPress 页面中显示视频列表
  • 视频详情页 - 播放视频和显示视频信息
  • 分类筛选 - 按分类浏览视频
  • 短代码支持 - 通过短代码嵌入视频
  • 编辑器集成 - 在文章编辑器中快速插入视频

下载插件

插件下载地址

点击下载 WordPress 插件

或从项目目录获取插件文件:

wordpress/mika-media-gallery/

安装插件

安装步骤

  1. mika-media-gallery 文件夹上传到 WordPress 的 /wp-content/plugins/ 目录
  2. 在 WordPress 后台 插件 页面找到"云转码"
  3. 点击 启用 激活插件

配置插件

获取 API Key

在米卡云转码后台获取 API Key:

  1. 登录云转码管理后台
  2. 进入 系统设置API 密钥设置
  3. 点击 添加 API Key
  4. 选择用户并生成 Key
  5. 复制 User ID 和 API Key

配置连接

在 WordPress 后台配置插件:

  1. 进入 设置云转码设置
  2. 填写以下信息:
配置项说明示例
API 地址云转码系统的 API 地址http://your-domain.com/api/v1/wordpress
User ID用户 ID1
API Key32 位 API 密钥your-32-character-api-key-here
缓存时长数据缓存时间(秒)3600
每页数量列表每页显示数量12
  1. 点击 验证连接 测试配置
  2. 保存设置

API 认证

认证方式

插件支持两种认证方式:

方式一:HTTP Header(推荐)

http
X-User-ID: 1
X-API-Key: your-32-character-api-key-here

方式二:查询参数

?user_id=1&api_key=your-32-character-api-key-here

API 端点

端点方法说明
/verifyGET验证凭证
/userGET获取用户信息
/videosGET获取视频列表
/videos/{id}GET获取视频详情
/videosPOST上传视频
/categoriesGET获取分类列表

使用短代码

视频列表

在页面或文章中显示视频列表:

[mika_videos]

支持的参数:

参数说明默认值
category分类 ID全部
limit显示数量12
columns列数4
orderby排序字段date
order排序方式DESC

示例:

[mika_videos category="1" limit="8" columns="4"]

单个视频

在页面中嵌入单个视频:

[mika_video id="123"]

支持的参数:

参数说明默认值
id视频 ID必填
width播放器宽度100%
height播放器高度auto
autoplay自动播放false

视频分类

显示视频分类列表:

[mika_categories]

编辑器集成

古腾堡编辑器

在古腾堡编辑器中:

  1. 点击 添加区块
  2. 搜索"云转码"
  3. 选择要添加的区块类型
  4. 配置区块参数

经典编辑器

在经典编辑器中:

  1. 点击工具栏的 云转码 按钮
  2. 选择要插入的内容类型
  3. 选择视频或设置参数
  4. 点击插入

PHP 开发示例

获取视频列表

php
<?php
// 获取插件实例
$mika = mika_media_gallery();

// 获取视频列表
$videos = $mika->api->get_videos(array(
    'page' => 1,
    'page_size' => 20,
    'category_id' => 1
));

if ($videos) {
    foreach ($videos['data'] as $video) {
        echo '<h3>' . esc_html($video['title']) . '</h3>';
        echo '<video src="' . esc_url($video['m3u8']) . '"></video>';
    }
}
?>

获取单个视频

php
<?php
$video = $mika->api->get_video(123);

if ($video) {
    echo '<h1>' . esc_html($video['title']) . '</h1>';
    echo '<p>时长: ' . esc_html($video['duration']) . '</p>';
    echo '<p>播放量: ' . intval($video['count']) . '</p>';
}
?>

验证 API 连接

php
<?php
$is_valid = $mika->api->verify();

if ($is_valid) {
    echo '连接成功';
} else {
    echo '连接失败,请检查配置';
}
?>

模板自定义

覆盖模板

在主题目录创建以下文件可覆盖默认模板:

your-theme/
└── mika-media-gallery/
    ├── video-list.php      # 视频列表模板
    ├── video-single.php    # 单个视频模板
    ├── video-player.php    # 播放器模板
    └── category-list.php   # 分类列表模板

钩子和过滤器

php
// 修改视频列表查询参数
add_filter('mika_videos_query_args', function($args) {
    $args['page_size'] = 24;
    return $args;
});

// 视频显示前处理
add_action('mika_before_video_display', function($video) {
    // 自定义处理
});

// 视频显示后处理
add_action('mika_after_video_display', function($video) {
    // 自定义处理
});

常见问题

Q: 视频地址显示 127.0.0.1?

这是因为分发服务器配置使用了本地地址。

解决方法:

  1. 登录云转码管理后台
  2. 进入 分发管理服务器管理
  3. 编辑分发服务器,将服务器地址改为公网域名
  4. 例如:http://your-domain.com 而不是 http://127.0.0.1:7501
  5. 保存后,重新转码视频(已转码的视频需要重新转码才能更新地址)

重要

分发服务器的地址会直接存储到视频记录中。修改配置后,只有新转码的视频会使用新地址。已转码的视频需要重新转码。

Q: API 连接失败?

  1. 检查 API 地址是否正确
  2. 检查 User ID 和 API Key 是否正确
  3. 确认云转码服务器是否正常运行
  4. 检查服务器防火墙设置

Q: 视频无法播放?

  1. 检查视频是否已转码完成
  2. 检查 M3U8 地址是否可访问(不应该是 127.0.0.1)
  3. 确认跨域设置是否正确
  4. 检查浏览器控制台错误

Q: 缓存不更新?

  1. 在插件设置中清除缓存
  2. 减少缓存时长
  3. 手动删除 WordPress transient 缓存

Q: 如何获取 API Key?

  1. 登录云转码管理后台
  2. 进入 系统设置API 密钥设置
  3. 点击添加,选择用户并生成 Key

下一步

基于 MIT 许可发布