Skip to content
基于阿里云OSS的WordPress远程附件支持插件
Branch: master
Clone or download
Latest commit 9349c7c Apr 1, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
languages
src
vendor
view
.gitignore
CHANGELOG.md
LICENSE.md
README.md
aliyun-oss.php
autoload.php
build.php
plugin.json
screenshot.png
uninstall.php

README.md

阿里云 OSS 支持插件 (Aliyun OSS For WordPress)

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

插件特色

  1. 支持 Aliyun OSS 的图片服务(根据参数获得不同尺寸的图片)
  2. 自定义文件在 Bucket 上的存储位置
  3. 支持 Https 站点
  4. 支持阿里云内网和 VPC 网络
  5. 全格式附件支持,不仅仅是图片
  6. 支持 wordpress 4.4+ 新功能 srcset,在不同分辨率设备上加载不同大小图片
  7. 支持在 WordPress 后台编辑图片
  8. 支持预设图片样式,图片保护,自定义分割符
  9. 中英文双语支持,方便使用英文为默认语言的同学
  10. 支持在其他插件/主题中通过系统钩子调用插件功能
  11. 代码遵循 PSR-4 规则编写

插件使用

关于插件使用方式的 Wiki: Quick start

下载

latest release

安装

将插件解压上传到 /wp-content/plugins/ 或者通过 WordPress 插件中心上传安装

配置

启用插件 Aliyun OSS

进入设置页面 完成相关设置

  • 如果你使用的 ECS 与 OSS 在同一区域,可以开启『内网/internal』选项,节约流量
  • 『Bucket 域名/Bucket Host』一项会自动补全,也可以手动设置为你的 自定义域名 或 CDN 域名

screenshot

启用 OSS 图片服务

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

如何开启并配置图片服务, 请参见: How to use Image Service

另外还有几点需要你了解:

  1. 开启图片服务时, 只有原图会被上传到 OSS, 缩略图本地依旧会生成但不会上传
  2. 基于第 1 条, 建议开启图片服务后就不要关了, 关掉会导致之前上传的图片缩略图无法访问(文章中的图片不受影响)
  3. 基于第 2 条, 如果你确实想关掉图片服务,参见下一项里面的解决方案

启用插件后,老文件无法访问

参见 WIKI:How to handle old images

关于不在本地服务器上保留文件

『不在本地服务器上保留文件』建议不要开启, 理由如下:

  1. 如果同时开启『图片服务』, 当你想停用这个插件的时候不可避免的会遇到缩略图丢失问题
  2. 如果没有同时开启『图片服务』, 当你从后台删除图片或附件时, OSS 里面的缩略图无法被删掉

题外

本插架由官方商店中 马文建(@mawenjian) 同学的「阿里云附件」插件拓展而来。由于马同学在曾经的某段时间里没能即时维护这个项目,也没有开源,于是我在修复 bug 并 rebuild 后,将这个野生的修订版发布到阿里云社区,意外获得了 ACE 社区官方管理组的推荐。

后来,马同学 release 了 2.0 版本并开源他的项目了,我就中止了这边的维护。但依旧是有网友提 Issue 或发邮件来询问,加上自己的需求,有时间的时候,也就修补一下大家反应的问题,也许还是会有人会用到。

由于插件沿用了马同学插件的名字,并 WordPress 官方不再允许在未经授权的情况下使用知名商标(如:Aliyun) 作为插件名称的一部分,所以这个插件并没有提交官方商店的计划。(重新想个名字对我来说太麻烦了~~( ̄▽ ̄))

更新日志

CHANGELOG.md

插件兼容

由于新增了 Exclude 选项,理论上来说绝大部分插件的兼容问题都可以通过这这个选项来解决

  • EvernoteSync Exclude 可解
  • ultimate member Exclude 填写 /ultimatemember/
  • BuddyPress 已兼容
  • WP-AutoPost Exclude 可解
  • ARMember Exclude 可解
  • minify Exclude 可解

项目依赖

贡献代码

  1. Fork 这个仓库
  2. Clone 源码并安装到本地 WordPress 中
  3. 完成你的修改并测试
  4. 提交一个 Pull Request

开源协议

BSD

You can’t perform that action at this time.