Wenba Cloud Storage – WordPress 云存储插件

Wenba Cloud Storage(问吧云储存)是一款用于 WordPress 的云存储插件,主要用于将媒体库中的图片、视频等附件上传到对象存储,并使用云存储或自定义域名进行访问。

开发这个插件的目的很简单:把 WordPress 媒体文件的存储和网站程序本身分离开,让图片、视频等资源可以交给专业的对象存储服务管理,同时尽量保持 WordPress 原有的媒体上传和使用方式。

插件会持续根据实际使用需求完善,并逐步增加更多存储服务和媒体管理能力。

目前支持的存储服务

目前已经支持:

  • 七牛云对象存储 Kodo

  • Cloudflare R2

不同存储服务会根据各自的 API 和功能特点进行适配,而不是简单地使用完全相同的配置。

后续支持的存储服务会在这里继续补充。

插件能力

目前 Wenba Cloud Storage 主要提供以下功能:

  1. WordPress 媒体文件自动上传到对象存储

  2. 支持 WordPress 自动生成的图片尺寸

  3. 支持配置是否保留服务器本地文件

  4. 删除媒体时可同步删除远程对象

  5. 支持自定义媒体访问域名

  6. 支持媒体文件类型规则

  7. 支持多种文件自动重命名方式

  8. 自动处理 WordPress 中的媒体访问地址

  9. 支持前台、编辑器、媒体库及 REST API 等场景的媒体 URL

  10. 上传和删除任务支持队列处理

  11. 提供对象存储连接测试

  12. 提供运行状态、日志和诊断功能

部分功能会根据所选择的存储服务有所不同。

七牛云 Kodo

使用七牛云作为存储服务时,可以配置七牛 Kodo 的 Bucket、访问域名以及相关访问凭证。

目前还支持:

  • 七牛图片样式

  • 七牛视频样式

  • 自定义样式分隔符

  • 私有空间访问签名

  • 原图保护

  • 自定义资源访问域名

适合已经使用七牛云对象存储、CDN 或图片处理服务的 WordPress 网站。

Cloudflare R2

插件同时支持 Cloudflare R2。

Cloudflare R2 提供 S3 兼容 API,Wenba Cloud Storage 可以通过对应接口完成媒体文件上传、删除以及对象管理。

目前支持:

  • R2 Bucket

  • S3 兼容接口

  • 自定义公开访问域名

  • 大文件分片上传

  • 远程对象删除

插件内置轻量级 S3 请求签名实现,不依赖完整的 AWS SDK,以减少插件自身的依赖和体积。

媒体规则

并不是所有上传到 WordPress 的文件都必须使用云存储。

Wenba Cloud Storage 可以配置允许上传到云端的媒体类型。

符合规则的媒体文件会按照当前存储策略进行处理;不符合规则的文件则继续使用 WordPress 默认的本地存储和访问地址。

这样可以避免插件不必要地接管 CSS、JavaScript、字体或其他非媒体资源,也方便根据网站实际需求选择需要使用云存储的文件。

文件命名

上传到对象存储的文件可以使用不同的命名策略。

目前支持:

  • 保持原文件名

  • MD5

  • MD5 + 时间戳

  • 时间戳 + 随机字符

可以根据网站原有文件结构、缓存策略以及对象存储管理需求自行选择。

本地文件

插件可以配置媒体上传到对象存储后是否继续保留服务器本地文件。

如果开启保留本地文件,云端上传完成后本地文件仍然存在。

如果选择不保留,则可以减少 wp-content/uploads 目录长期积累的媒体文件,从而降低服务器本地磁盘占用。

是否保留本地文件可以根据网站的备份方案和实际部署方式决定。

远程删除

可以选择是否同步删除对象存储中的文件。

启用后,当对应的 WordPress 媒体附件被删除时,插件会处理已经记录的远程对象。

如果不启用,则只处理 WordPress 中的媒体记录,不主动删除云端文件。

媒体 URL

媒体文件上传到对象存储之后,插件会根据配置生成对应的云端访问地址。

Wenba Cloud Storage 会处理 WordPress 常见的媒体输出场景,包括:

  • 网站前台

  • WordPress 媒体库

  • 文章内容

  • 区块编辑器

  • REST API

  • WordPress 图片尺寸及响应式图片

尽量让使用云存储后的媒体文件仍然保持 WordPress 原有的使用方式。

队列处理

云存储上传和删除都涉及远程网络请求。

为了减少大量媒体操作对当前 WordPress 请求的影响,Wenba Cloud Storage 对部分上传和删除操作使用队列进行处理。

这也为后续增加批量任务以及其他媒体处理能力提供基础。

状态和诊断

对象存储涉及访问密钥、Bucket、Endpoint、访问域名以及权限等多项配置。

插件提供连接测试、运行状态、近期活动、日志以及诊断功能,方便检查当前配置和排查媒体上传过程中出现的问题。

安装

可以直接在 WordPress 后台的「插件」→「安装插件」中搜索:

Wenba Cloud Storage

安装并启用后,在 WordPress 后台进入 Wenba Cloud Storage 设置页面。

基本使用步骤:

  1. 选择需要使用的存储服务

  2. 填写对象存储连接信息

  3. 配置媒体访问域名

  4. 测试存储连接

  5. 设置需要上传的媒体类型

  6. 根据需要设置文件命名、本地文件和远程删除策略

  7. 开启云存储

建议第一次配置完成后先上传几张测试图片,确认原图、缩略图以及前台访问地址均正常后再正式使用。

后续开发

Wenba Cloud Storage 不会只局限于目前已经支持的存储服务。

插件会围绕 WordPress 媒体存储和管理继续完善,例如:

  • 更多对象存储服务适配

  • 更完善的媒体同步能力

  • 批量媒体处理

  • 存储与迁移工具

  • 媒体优化能力

  • 更完善的兼容性和诊断功能

具体功能会根据实际使用需求逐步增加。

如果有希望支持的对象存储服务,或者在使用过程中遇到兼容性问题,也欢迎反馈。

插件地址

WordPress.org:

https://cn.wordpress.org/plugins/wenba-cloud-storage/

Wenba Cloud Storage 会持续更新和完善。

如果你的 WordPress 网站有大量图片、视频或者其他媒体资源,希望将媒体文件与网站服务器分离,可以安装体验。

请登录后发表评论

    没有回复内容