禁止 WordPress 主题添加新的图片尺寸

WordPress 自带了图片自动缩放和裁切功能,上传图片的时候会根据与设置缩放或裁切出几种特殊的图片尺寸,以方便不同的使用场景调用。但是这样做很多时候反而增大了图片文件的体积。为了减小服务器存储空间占用,减小带宽压力,可以禁用 WP 的图片自动缩放功能。然而我发现所用 WP 主题还会添加新的图片寸尺,故而也给禁用了。

之前介绍如何禁用 WordPress 图片缩放的时候收到了不少网友的反馈,表示参照设置之后还是会有别的尺寸的图片出现在 WP 上传文件夹中( via 1, via 2 )。当时没有注意到某些 WordPress 主题也会添加新的图片尺寸,让 WP 在上传图片的时候自动缩放和裁切。也许某些插件也会这么做,方法肯定与主题所使用的一样。

下面先说明一下情况,然后讲讲怎么操作来禁用 WordPress 主题添加的图片缩放尺寸。如果不想看说明,可以直接跳转至操作部分

目录 Contents

1. 解释

当然,有些图片尺寸对于某些主题是非常必要的,比如缩略图(有的在原图文件名后面加上 _thumb,有的则加上图片尺寸,如 _150x150)。而且通常缩略图的尺寸非常小,所以相对于原图来说,缩放或裁切后,文件体积是会缩小很多的,可以保留此类尺寸。但是还有一类尺寸,比如图片画廊(Gallery)之类的展示页面可能会设置一些特殊的图片尺寸。这些尺寸的图片也许并不是必须的,因为一般的主题在展示图片的时候都会进行图片的页面内缩放,也就是说,图片会自动地动态缩放为页面中该位置的 CSS 所定义的图片大小(不产生相应尺寸的图片文件)。

WordPress 2011 主题中就设置了主题顶部图片的尺寸(1000×288),这个尺寸对绝大多数用户来说应该都是无用的。如果要做顶部图片,在本地裁切好了再上传多好呢。该主题还设定了另一种图片尺寸 500×300,估计是用于 featured post 展示页面的吧,反正我是没用过。

2. 操作

那么,怎么禁止某些 WordPress 主题添加图片缩放尺寸,或者怎么禁用其添加的某些尺寸的图片呢?

WordPress 提供的标准的设定自动缩放图片的尺寸方法为 add_image_size 函数。一般,主题会在自己的 functions.php 文件中定义类似的功能来调用该函数进行设置。只要在 functions.php 文件中搜索 add_image_size 就能定位出添加自动缩放和裁切功能的语句,也就能看出来它都定义了哪些新的尺寸,从而选择性的禁用。

比如在 WP 2011 主题的 functions.php 中搜索 add_image_size 就发现,在第 154 和 156 行就有:

add_image_size( 'large-feature', $custom_header_support['width'], $custom_header_support['height'], true );
add_image_size( 'small-feature', 500, 300 );

不想要某个尺寸的图片,就直接在该行前面加上 // 注释掉该行就可以了。我是把两个尺寸都注释掉了。

如果禁用了 WordPress 中的图片缩放,又清理了主题中的新图片尺寸定义之后,发现上传图片的时候还会生成一些自动缩放的图片,那就很可能是某个插件做的了。怎么做就看各自的喜好了。©

本文发表于水景一页。永久链接:<http://cnzhx.net/blog/disable-new-photo-size-in-wp-theme/>。转载请保留此信息及相应链接。

时间过去太久,评论已关闭。
如果您有话要说,请到讨论区留言并给出此文章链接。
谢谢您的理解 :-)