ceceppa/meno

WordPress 库,用于保持上传文件夹小

1.0 2019-12-05 07:32 UTC

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-tilefull-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_WIDTHMAX_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文件