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

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

雁过留声,人过留名

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

特别提示:与当前文章主题无关的讨论相关但需要较多讨论求助信息请发布到水景一页讨论区的相应版块,谢谢您的理解与合作!请参考本站互助指南
您可以在评论中使用如下的 HTML 标记来辅助表达: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>