可能发现了曲线禁止WordPress自动裁剪图片生成缩略图的方式

不想看我长篇自言自语的话就直接跳到结尾看结论吧。

我一直很喜欢WP自带的Twenty Fifteen主题,和“特色图片”功能搭配起来效果特别好,但就是这个“特色图片”,把我搞懵了好几圈。

最开始,我把博客托管在Wordpress自家平台的免费套餐上,那时候我就注意到特色图片这个功能,上传上去的图片会自动裁剪到相同的合适尺寸,显示在每篇文章的顶端,一切都很美好。

后来我把博客迁移到了Linode,问题就出现了,所有的特色图片都以原尺寸硬生生地摆在文章顶,两边留下丑陋的白边。我也不懂怎么回事,想着自动裁剪不会是原平台类似自带插件的效果吧,与此同时我发现,只要手动裁一下图就好,预先裁成16:9的尺寸就能贴合文章,也就不管了。

再后来,我买了台廉价的香港虚拟主机想尝试一下香港的线路,在上面也装上了WP,然后我发现自动裁剪功能是正常的!这就奇怪了,难道是我在Linode上装的WP哪里残缺了吗。但是新环境上“完整”的WP却让我高兴不起来:我发现我设置的特色图片在WP一顿自动操作过后,变得十分模糊,根本没法当作装饰图片,完全就是个缩略图了。为此,我还上网找了一圈禁止WP自动把我的图片缩小的方法。在这个过程中,我还发现WP会把每张上传的图片缩成几个不同尺寸存储在硬盘里,大量占用空间,我回头翻了一遍Linode上的文件夹,干干净净,每张都只有一张原图。结果,我反倒觉得Linode上的“残缺版”WP反倒更好用了。

从那以后,我就一直保持着上传前自己裁好图,传到服务器上再用TinyPNG的插件压缩一遍的习惯。最近,我又把博客迁到阿里云上,却发现了一件奇怪的事。我在阿里云上的WP是全新安装再导入的备份数据,按理说,应该不会再出同样的错误。然而我发现导入数据后整个网站看起来和原本在Linode上的一模一样,完全没有出现特色图片模糊和自动缩图的情况。这就很奇怪了,这说明我的Wordpress安装并没有损坏。

直到今天,我在WP后台闲逛,发现工具菜单多了个站点健康项,点进去一看,上面写着“缺少一个或多个必需的模组”。

工具 > 站点健康

我查了一下 imagick 和 GD 模块,似乎是和图片处理有关的php模块,并在Wordpress的手册中也看到了说明:

imagick – Provides better image quality for media uploads. See WP_Image_Editor is incoming! for details. Smarter image resizing (for smaller images) and PDF thumbnail support, when Ghost Script is also available.

gd – If Imagick isn’t installed, the GD Graphics Library is used as a functionally limited fallback for image manipulation.

WordPress Hosting Handbook / Server Environment

我的脑中一下闪过了一个念头:这就是WP没有——或者说没能自动缩小我的图片的原因?我在前后两台VPS上装环境时,都只装了跑起来必需的组件以及包管理器自动加上的部分,确实没有安装上这两个包的印象,而虚拟主机的提供商则很可能预先装好了这些常用组件。不过倒是没发现其他的不良影响,站点一直跑得好好的。

想到这里,答案几乎已经浮出水面了:把这两个模块卸载掉是不是就能曲线禁止WP自作主张裁图了?只是可惜Linode服务器删得太早,没有地方可以测试;阿里云我不是很想随意测试,毕竟我还挺喜欢现在这个情况的,回不来就头疼了(虽然有快照)。所以,我先暂且记下这个结论,若是日后有了测试再回来补记吧。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注