分享一个长期维护的 OSS WordPress 插件

先上 github 地址: https://github.com/IvanChou/aliyun-oss-support

这个插件是我 2013 开的坑,当时我在用 阿里云的 ACE,顺便使用 OSS 来存储图片,但是网上能找到的插件都已『年久失修』,不是难用就是根本不能用。于是我基于 WordPress 官方插件仓库中的 「阿里云附件」插件(作者:马文建 @mawenjian)修改并对 ACE 做了专门的适配扩展,用以满足自己的使用。

修改到后来,发现还不如自己重新写一个,于是就有了现在这个插件。完成基本的功能后,我将插件在 github 上开源,并在阿里云论坛的 ACE 板块发过一个推广这个插件的帖子,获得了 ACE 论坛官方的推荐。当时使用 ACE 搭建 WordPress 的人挺多的,有不少的坛友有同样的需求,陆陆续续我一直有收到各位网友的建议和 bug 反馈,插件的实现机制和功能都日趋完善。

不知不觉,都已经维护 4 年了,今天蓦然看到阿里云 OSS 推荐的插件还是 13 年的 oss4wp, 所以我想我还是再来发个帖子宣传下这个插件,给大家多一个选择。

==== 分割线 ===

插件简介

本插件主要为 WordPress 提供基于阿里云 OSS 的远程附件存储功能,并且最大限度的依赖 WordPress 本身功能扩展来实现,以保证插件停用或博客搬迁时可以快速切换回原来的方式。

当前版本

Stable: 3.1.4

插件特色

支持 Aliyun OSS 图片服务(已使用新版 API 实现)
自定义文件在 Bucket 上的存储位置
支持 Https 站点
支持阿里云内网和 VPC 网络
全格式附件支持,不仅仅是图片
支持 wordpress 4.4+ 新功能 srcset,在不同分辨率设备上加载不同大小图片
支持在 WordPress 后台编辑图片
图片服务支持预设图片样式,可用于图片打水印和原图保护的需求
中英文双语支持,方便使用英文为默认语言的同学
代码遵循 PSR-4 规则编写

插件使用

关于插件使用方式的 Wiki: Quick start https://github.com/IvanChou/aliyun-oss-support/wiki/Quick-start

下载

latest release aliyun-oss.zip (182 K) 下载次数:532

安装

将插件解压上传到 /wp-content/plugins/ 或者通过 WordPress 插件中心上传安装
注意上传时 zip 包的名字,建议使用 aliyun-oss.zip

配置

启用插件 Aliyun OSS
进入设置页面 完成相关设置

关于图片服务

阿里云 OSS 提供了根据 url 参数来获得各种尺寸的 阿里云OSS图片处理服务(Image Service,简称 IMG), 相比起 WordPress 自身在图片上传的时候生成各种尺寸的图片, 明显是一种更优雅的解决方案, 占用的存储空间更小, 尺寸变更更灵活。

通常使用中, 你不需要特别的去了解它的实现, 只需注意:

开启图片服务时, 只有原图会被上传到 OSS, 如果此时关闭图片服务, 服务开启这段时间内上传的图片会出现缩略图丢失的情况
如果没有开启 不在本地服务器上保留文件 选项, 服务器上仍旧保留有缩略图, 此时彻底关闭插件会发现所有的缩略图其实都在, 所以你可以通过手动上传到 OSS 来修复丢失问题
如果开启了 不在本地服务器上保留文件 选项, 那就真的找不回那些丢失的缩略图了 ㄟ( ▔, ▔ )ㄏ

更多关于图片服务的介绍: How to use Image Service https://github.com/IvanChou/aliyun-oss-support/wiki/How-to-use-Image-Service

题外

本插架由官方商店中 马文建(@mawenjian) 同学的「阿里云附件」插件拓展而来。由于马同学在曾经的某段时间里没能即时维护这个项目,也没有开源,于是我在修复 bug 并 rebuild 后,将这个野生的修订版发布到阿里云社区,意外获得了 ACE 社区官方管理组的推荐。
后来,马同学 release 了 2.0 版本并开源他的项目了,我就中止了这边的维护。但依旧是有网友提 Issue 或发邮件来询问,加上自己的需求,有时间的时候,也就修补一下大家反应的问题,也许还是会有人会用到。
由于插件沿用了马同学插件的名字,并 WordPress 官方不再允许在未经授权的情况下使用知名商标(如:Aliyun) 作为插件名称的一部分,所以这个插件并没有提交官方商店的计划。(重新想个名字对我来说太麻烦了~~( ̄▽ ̄))

更新日志

https://github.com/IvanChou/aliyun-oss-support/blob/master/CHANGELOG.md

开源协议

BSD