KakapoWP KakapoWP
帮助中心/Performance/检查、测量并关闭图片尺寸

检查、测量并关闭图片尺寸

适用于:Kakapo Performance· 5 分钟阅读

列表里有什么——以及它从哪里来

这张表不是内置的固定清单,而是你这套安装的真实状态:Kakapo 直接向 WordPress 询问已注册的尺寸,并从附加尺寸或“设置 › 媒体”下的内核选项中读取具体数值。你的主题或某个插件通过代码注册的尺寸,因此会自动一并列在里面。

“裁剪”列区分两种情况:“等比例”表示 WordPress 会缩小图片并保持宽高比;“固定裁剪”表示会精确裁到这个尺寸——如果配置了对齐方式,也会一并写出(例如“固定裁剪(左上)”)。

“来源”这一列是有意做得粗略的。内核尺寸会准确写明出处,其余一律写作“主题或插件”。再精确就做不到了:WordPress 在注册一个尺寸时,并不会在任何地方记录是谁注册的。你关闭过、而如今已经没有人再注册的尺寸(常见于更换主题之后),依然会留在列表里——并标注“当前未注册”。否则你就再也无法重新启用它了。

先测量,再决定

只要你还没有测量过,“占用”这一列里就是一个破折号。这是有意为之:估算出来的数字在这里毫无价值。点击“立即测量”会把 uploads 目录跑一遍。每个文件都按它真实的大小计入,而与图片尺寸的对应关系是通过媒体库建立的——那里对每个附件都记录着哪个文件属于哪个尺寸。靠文件名是行不通的,因为等比缩放的尺寸会随宽高比得出不同的数值。

结果分为这几类:派生尺寸、图片编辑的备份(WordPress 在裁剪或旋转后自行保留的)、原始图片文件、没有对应媒体库记录的文件,以及并非图片的文件(PDF、ZIP、其他插件的缓存文件)。

表格里有两种特殊情况你应该了解。“与同样大小的尺寸共用文件”表示:两个尺寸的数值完全相同,WordPress 只为它们生成一个文件。这个尺寸不单独占用空间,关闭它也省不下什么。而“× 文件缺失”表示:媒体库知道这个文件,硬盘上却已经不在了。

测量在 20 秒的时间预算内进行,并以每批 200 条的方式读取媒体库。如果在数据量很大的站点上时间不够,结果会被标记为不完整,那些数字则只是下限——不会做推算。这时再测一次就好。当图片文件超过 120,000 个时,Kakapo 会略去把剩余部分再拆分为原图和孤立文件的步骤,以免撑爆内存;其余数字仍然是完整测量出来的。

关闭:它会带来什么,又不会带来什么

关闭的含义是:这个尺寸不再被生成。它从下一次上传开始生效,图片编辑后重新生成时同样生效。它不会向前追溯——本插件不会删除任何图片文件。已经躺在 uploads 目录里的东西都会留着,因为媒体库仍然指向它们,而某个确实用到该尺寸的主题否则就会出现缺口。

如果某个页面之后请求了一个已关闭的尺寸,WordPress 会输出下一个存在的文件,通常是原图。页面不会坏掉,但在这个位置会多加载一些字节。正因如此,关闭尺寸尤其值得用在你的网站本来就哪里都不输出的那些尺寸上。

有四种尺寸比较特殊:thumbnail、medium、medium_large 和 large。WordPress 自己会用到它们——媒体库中的预览、插入时的选择、srcset。它们在表格中标有“内核固定使用”,关闭之前还会有一次确认提示。这并不是禁止,只是你应该清楚自己在做什么。

最值得动手的通常是内核的两个附加尺寸 1536x1536 和 2048x2048:它们是 2× 版本,也是所有派生文件中最大的。如果你的站点不需要 Retina 输出,在这里省下的最多。一切随时都可以撤销——“启用”会让该尺寸重新投入使用,从下一次上传开始生效。

图片编辑:为什么被关闭的尺寸会从记录中消失

如果你在 WordPress 里裁剪或旋转一张图片,内核会重新生成各个尺寸,并把结果与旧的记录合并到一起。对于已关闭的尺寸,这时不会产生任何新东西——于是它们的旧条目会存活下来,并继续指向编辑之前的那个文件。旋转之后,这个尺寸里出来的仍然是没有旋转的图片;而想通过裁剪把画面中的某样东西去掉的人,会发现它正是在这些尺寸里继续挂在网上。

因此,在一次真正的编辑之后,Kakapo 会把该条目从媒体库数据中移除。范围严格受限:只针对被编辑的那个附件,而且只在主文件确实发生了变化时(文件名不同或尺寸不同)。“仅缩略图”这种编辑不受影响,其他任何保存操作也一样。这里同样不会删除任何东西——旧文件仍然留在原处,并会在下一次测量中出现在“无媒体库条目”下。

当某处看起来和预期不一样时

列表上方的“休眠状态”:没有有效许可证时,Kakapo 根本不会注册那些过滤器,被关闭的尺寸仍会继续生成。这种情况下,列表显示的是你的设置,而不是实际的运行情况。

“未找到上传文件夹”:测量会中止,并给出 WordPress 报告的路径。多数情况下是上传设置不再正确,或者该文件夹对 PHP 不可读。

“文件树未能完整读取”:某个子文件夹不可读,或者在测量过程中消失了。这次运行会继续,但结果会被标记为不完整,并附上原因。符号链接会被跳过,以免同一个文件被算两次。

“硬盘上已不再注册的尺寸”:那里列出的尺寸虽然有文件存在,却已没有任何主题或插件再注册它们——几乎总是更换主题留下的痕迹。它们不会再被重新生成;需要的话得你自己去清理,Kakapo 不会碰它们。

这篇文章对您有帮助吗?