Wenba Cloud Storage(问吧云储存)是一款用于 WordPress 的云存储插件,主要用于将媒体库中的图片、视频等附件上传到对象存储,并使用云存储或自定义域名进行访问。
开发这个插件的目的很简单:把 WordPress 媒体文件的存储和网站程序本身分离开,让图片、视频等资源可以交给专业的对象存储服务管理,同时尽量保持 WordPress 原有的媒体上传和使用方式。
插件会持续根据实际使用需求完善,并逐步增加更多存储服务和媒体管理能力。
目前支持的存储服务
目前已经支持:
-
七牛云对象存储 Kodo
-
Cloudflare R2
不同存储服务会根据各自的 API 和功能特点进行适配,而不是简单地使用完全相同的配置。
后续支持的存储服务会在这里继续补充。
插件能力
目前 Wenba Cloud Storage 主要提供以下功能:
-
WordPress 媒体文件自动上传到对象存储
-
支持 WordPress 自动生成的图片尺寸
-
支持配置是否保留服务器本地文件
-
删除媒体时可同步删除远程对象
-
支持自定义媒体访问域名
-
支持媒体文件类型规则
-
支持多种文件自动重命名方式
-
自动处理 WordPress 中的媒体访问地址
-
支持前台、编辑器、媒体库及 REST API 等场景的媒体 URL
-
上传和删除任务支持队列处理
-
提供对象存储连接测试
-
提供运行状态、日志和诊断功能
部分功能会根据所选择的存储服务有所不同。
七牛云 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 设置页面。
基本使用步骤:
-
选择需要使用的存储服务
-
填写对象存储连接信息
-
配置媒体访问域名
-
测试存储连接
-
设置需要上传的媒体类型
-
根据需要设置文件命名、本地文件和远程删除策略
-
开启云存储
建议第一次配置完成后先上传几张测试图片,确认原图、缩略图以及前台访问地址均正常后再正式使用。
后续开发
Wenba Cloud Storage 不会只局限于目前已经支持的存储服务。
插件会围绕 WordPress 媒体存储和管理继续完善,例如:
-
更多对象存储服务适配
-
更完善的媒体同步能力
-
批量媒体处理
-
存储与迁移工具
-
媒体优化能力
-
更完善的兼容性和诊断功能
具体功能会根据实际使用需求逐步增加。
如果有希望支持的对象存储服务,或者在使用过程中遇到兼容性问题,也欢迎反馈。
插件地址
WordPress.org:
https://cn.wordpress.org/plugins/wenba-cloud-storage/
Wenba Cloud Storage 会持续更新和完善。
如果你的 WordPress 网站有大量图片、视频或者其他媒体资源,希望将媒体文件与网站服务器分离,可以安装体验。



没有回复内容