如何禁用WordPress自动创建的不同尺寸的图片

 
如何禁用WordPress自动创建的不同尺寸的图片

当一个WordPress安装的时间比森林还长,而且它的内容有一定的规律性的更新,就像你现在读的这个WordPress一样,图片的积累会成为一个大问题,从来没有更好的说法。

让图像长期堆积在一起,从长远来看是有后果的。

节点或者说inodes

那些未知数。一个inode是服务器上的任何文件或文件夹。这包括图片、图像、电子邮件、日志、脚本、样式表等。一切都算作1,不管是什么。

绝大多数主机,尽管宣传 “无限空间”,但总是有一个节点数量的限制。虽然有一些非常慷慨的人。 卢卡斯特公司例如,他们把他们限制在超过慷慨数额的 一百万但其他主机将节点的数量限制在 下去相当于。

也许有一天你需要迁移,如果你不摆脱大量的这些inodes,你就不能迁移,我就是因为这个原因被踢出了一个主机。

浪费资源

托管堆积如山的未使用的图像是在浪费磁盘空间,而你可以将其用于你需要的东西,而且它也有助于它不像它应该的那样轻便。

也很有可能,如果你多年来一直忽视它们,它们中的许多都没有被优化,或者由于某种原因(例如模板变化或插件遗留),它们已经损坏,增加了更多的永恒请求和更多的资源消耗。

重要的是要有一个计划

而在制定计划之前,要对你的整个博客进行最近的备份,包括数据库。总是这样做。

目标是将图像的数量减少到两个。上传的原件(尺寸足够大,而且是在一个可以在任何地方显示的模板中)加上一个缩略图。

除了有一个计划外,你还需要知道如何识别哪些图像是在使用中的,哪些是你可以摆脱的,没有任何问题。要做到这一点,关键是要知道是什么创造了它们。

第一件也是最重要的一件事是浏览所有正在使用的尺寸,并找出每一种尺寸的产生地。在许多情况下,它们是由模板中的代码创建的,该代码通常在functions.php文件中,通常或多或少像这样(它取决于每个模板,甚至可能不在那里,或甚至不存在,如 GeneratePress 的情况)。

这个例子来自模板的functions.php模式我以前用过 我现在用的就是这个.

add_theme_support( 'post-thumbnails');
set_post_thumbnail_size( 223, 137, true );
add_image_size( 'schema-featured', 680, 350, true ); // Featured.
add_image_size( 'schema-featured2', 1360, 700, true ); // Featured x 2.
add_image_size( 'schema-related', 211, 150, true ); // Related.
add_image_size( 'schema-related2', 422, 300, true ) ; // Related x 2.


add_image_size( 'schema-widgetthumb', 70, 60, true ); // Widget.
add_image_size( 'schema-widgetthumb2', 140, 120, true ); // Widget x 2.
add_image_size( 'schema-widgetfull', 300, 200, true ); // 侧边栏全宽。
add_image_size( 'schema-slider', 772, 350, false ); // 滑块。
add_image_size( 'schema-slider2', 1544, 700, false ); // 滑块 x 2。

这里很简单,只要把true改成false(或者删除这一行),就可以避免在上传新的时候产生一个尺寸。它还告诉你它是用来做什么的。在 “封顶 “一个尺寸之前,确保你不打算使用生成该尺寸的函数。

这只适用于你上传的新图片,不适用于你已经上传的图片。我们稍后再谈如何摆脱它们的问题。

请注意,你的一些插件和小工具可能也在为特定用途创建其他尺寸的副本。你必须查阅每个人的文件,并注意图像的路径,直到你能找到它们的来源和目的地。

在我们进一步讨论之前,我假设你已经知道每张图片的来源,而且你知道你可以不用你决定删除的那张图片。

WordPress创建的缩略图

这通常是精益求精的部分。他们仍然称它们为缩略图,但问题是它也创造了其他更胖的尺寸。

从5.3版本开始,WordPress为你通过媒体库和/或视觉编辑器上传的每张图片生成七个额外的图片。因此,每上传一张图片,就会在总数中增加 8张。

如果你加上模板、插件和小工具中其他可能的,它可以上升到12个或更多。

这些是WordPress创建的。

缩略图 (150x150px)
中等尺寸 (300x300px)
大尺寸(1024x1024px)

中大号768px
2x中大号1536px
2x大2048px
按比例2560px

在前三项中,我们可以不使用300和1024,并将缩略图从150×150减少到100×100。要做到这一点,只需进入设置/媒体,并改变尺寸,在你不希望生成的尺寸上设置0(零)。

如何禁用WordPress自动创建的不同尺寸的图片

现在,在我的案例中,100×100的缩略图将是显示在媒体库中的那个。通过减少数量和尺寸,我们已经节省了几百张,也许是几千张图片,以及一堆Kb或Mb。

对于其他四个,我们可以通过在我们模板的function.php中添加这些片段或通过插件来分别 “取消注册 “它们的创建。 代码摘录.

禁用768px宽,按比例

函数 shapeSpace_disable_medium_large_images($sizes) {

unset($sizes['medium_large']); // 禁用768px大小的图像
返回$sizes。
}

add_filter('intermediate_image_sizes_advanced', 'shapeSpace_disable_medium_large_images') 。

禁用1536px宽度,按比例

函数 shapeSpace_disable_2x_medium_large_images($sizes) {

unset($sizes['1536x1536']); // 禁用2倍的中大尺寸
返回$sizes。
}

add_filter('intermediate_image_sizes_advanced', 'shapeSpace_disable_2x_medium_large_images') 。

禁用2048px宽,按比例

函数 shapeSpace_disable_2x_large_images($sizes) {

unset($sizes['2048x2048']); // 禁用2倍大的尺寸
返回$sizes。
}

add_filter('intermediate_image_sizes_advanced', 'shapeSpace_disable_2x_large_images') 。

禁用缩放图像(2560px)

add_filter('big_image_size_threshold', '__return_false');

如果你喜欢对产生的所有你想禁用的尺寸使用一个单一的代码,包括那些可能的尺寸,你可以拉动这个代码,并从WordPress的媒体设置中删除你想保留或控制的那几行,就像前三个的情况一样。

禁用所有尺寸

// 禁用生成的图像尺寸
函数 shapeSpace_disable_image_sizes($sizes) {
	
	unset($sizes['thumbnail']); // 禁用缩略图尺寸
	unset($sizes['medium']); // 禁用中等尺寸。
	unset($sizes['large']); // 禁用大尺寸。
	unset($sizes['medium_large']); // 禁用中大尺寸。
	unset($sizes['1536x1536']); // 禁用2倍的中大尺寸
	unset($sizes['2048x2048']); // 禁用2倍大的尺寸
	
	返回 $sizes。
	
}
add_action('mediate_image_sizes_advanced', 'shapeSpace_disable_image_sizes');

// 禁用缩放的图像尺寸
add_filter('big_image_size_threshold', '__return_false');

// 禁用其他图像尺寸
函数 shapeSpace_disable_other_image_sizes() {
	
	remove_image_size('post-thumbnail'); // Disable images added with set_post_thumbnail_size ( )
	remove_image_size('another-size'); // Disable any other added image size
	
}
add_action('init', 'shapeSpace_disable_other_image_sizes');

来源:Jeff Starr的博客。 如何禁用WordPress自动生成的图片 – 完整指南.我建议你从那个帖子中复制代码,强烈建议你这样做,以防有些东西在这里被粘贴错了。

杰夫-斯塔尔也是不同插件的创建者和 他们中的一个人就做了这件事(我没有试过),以备你不希望自己的生活复杂化。

要加载剩余的图像

好了,我们应该已经禁用了所有那些在我们上传图片时不需要创建的额外尺寸。

现在我们上传一张测试图片,并验证那些额外的尺寸没有产生。在我的情况下,它看起来像这样。

如何禁用WordPress自动创建的不同尺寸的图片

但是,我们如何删除所有这些上传的图片,这些图片现在是剩余的,没有使用的。

至少有两个不算太复杂的选择。

通过手工。更加繁琐和耗时。你可以从Cpanel的文件管理器或从你的FTP客户端搜索它们的独特的文件名字符串,如300×300,768x,1536x等,并删除它们。

如果你有大量的图片,你可以使用插件 重新生成缩略图这仍然能很好地完成工作。

这个插件是Alex Mills的经典插件它的作用是重新生成你上传图片的缩略图。你可以从媒体库中一个一个地做,如果不是太多,也可以一次全部做完。

一旦安装并激活,当你从 “工具/再生缩略图 “中打开它时,你会看到这个。

如何禁用WordPress自动创建的不同尺寸的图片

在那里你会看到WordPress使用的几乎所有尺寸的列表,但由于我们已经 “取消了 “大部分尺寸的创建,建议你用一张测试图片进行测试,同时勾选“删除旧尺寸的缩略图文件而不注册“选项。

如何禁用WordPress自动创建的不同尺寸的图片

如果那张图片的测试一切顺利,你现在可以为所有XXXX附件(第一个按钮)大规模重新生成缩略图。这将一次性去除所有多余的尺寸。

我最近做了这件事,我记得批量再生失败了,我猜是因为图片太多(超过20K),而且这个过程在某些地方被打断了,所以我选择从媒体库中以200张图片为块进行再生。

如何禁用WordPress自动创建的不同尺寸的图片

一旦你完成了任务,你就可以卸载该插件了。

现在你肯定已经获得了足够的空间,一个好主意是利用这个优势来 以.webp格式创建你的.jpg的优化副本免费使用该插件 Litespeed Cache 如果你的主机在Litespeed下运行。


Suscríbete por email para recibir las viñetas y los artículos completos y sin publicidad