ceceppa / meno
WordPress 库,用于保持上传文件夹小
Requires (Dev)
- nunomaduro/phpinsights: ^1.9
- phpunit/phpunit: ^7.5.7
- sempro/phpunit-pretty-print: ^1.0
This package is not auto-updated.
Last update: 2024-10-02 05:47:31 UTC
README
防止 WordPress 将大量图片和无数缩略版本污染你的上传文件夹。
WordPress 默认为每个上传的图片生成三个缩略版本。除此之外,使用 add_image_size
定义每个自定义图片大小时还会创建额外的版本。所有这些都与图片大小是否使用无关!
此外,WordPress 允许用户上传和使用大图片
因此,这很快就会导致上传文件夹变得非常大,即使是相当小的网站。
Meno 防止 WordPress 创建任何缩略版本,除非你需要它!它还防止用户上传和使用 非常大的 图片。
示例
假设我们定义了两个新的图片大小,分别称为 home-tile
和 full-width
add_image_size( 'home-tile', 450, 253, true );
add_image_size( 'full-width', 1440, 810, true );
使用此类,当用户上传图片时,上传文件夹看起来会是这样
|- example.jpg
|- example.jpg.original*
除了原始图片外,什么都没有!
原始文件
我们知道,用户喜欢使用大图片,有时甚至超过 1Mb。因此,每当用户上传一个大于这个大小的图片时,Meno 都会使用定义的 MAX_WIDTH
和 MAX_HEIGHT
来对其进行缩放。
默认情况下,定义的最大尺寸是 1920x1080
,你可以通过定义来覆盖此值
define( 'MENO_MAX_WIDTH', ...);
define( 'MENO_MAX_HEIGHT', ...);
有缩略版本的 Habemus
那么,缩略版本何时会创建呢?
很简单,当它被使用时,例如
the_post_thumbnail( 'home-tile' )
在这种情况下,并且只有在这种情况下,Meno 才会检查 450x253
大小是否存在,如果不存在,则会即时生成它!
与其它解决方案相比,Meno 有何不同?
除了 Meno,我们还有两个选项来防止这个问题
- 重新定义缩略图和中等尺寸的大小
- 使用图片优化插件
重新定义的问题
我个人非常不喜欢这个选项!因为即使更改 缩略图 和 中等 的默认大小,那些名字对我来说也没有意义。因为有些网站我可能有/需要不同比例的缩略图。对我来说,中等 这个词太通用,没有任何具体含义!我更喜欢为图片大小命名。
图片优化
有几个插件可以完成这项工作,并且它们都会优化主图和缩略图,以减小上传文件夹的大小。
它们工作得相当好,但有一个相同的问题:所有缩略版本都会生成,无论你是否使用它们!
入门指南
安装
手动
下载仓库并加载主题或插件中的 meno.php
文件。
Composer
composer require ceceppa/meno --dev
用法
prevent_generation();
运行测试
要运行所有测试,请首先在 run-tests.sh
文件中替换您的数据库信息。
要设置并安装 WordPress 测试库,然后运行所有测试
composer test
仅运行 PHPUnit 测试
composer phpunit
分析代码质量
composer phpinsights
部署
WordPress 编码标准被使用,只有少数例外。
BUGS
目前,在 Gutengerg 中,你只能选择 大型
大小。
TODO
- [ ] 允许用户在 Gutenberg 中选择不同的图片大小
贡献
请阅读 CONTRIBUTING.md 了解我们的行为准则和提交拉取请求的流程。
作者
- Alessandro Senese - 初始工作 - Ceceppa
许可证
本项目采用MIT许可证 - 详细内容请参阅LICENSE.md文件