WordPress程序为通过媒体库上传的所有图片创建了大量副本。这些附加图像会根据您的设置和其他因素生成各种尺寸的图像。一般来说,这可能完全没问题,但是如果您在站点上使x \ ~ ^ F 2 }用大量图片,但您的站点没有使用所有尺寸的图像,那多余的文件会占用您的磁盘空间。因此,为帮助您节省资源,消除浪费并保持运行状态尽可能轻巧,本文详细说明了禁用所有WordPress默认(或自定义)自动生成的图像。

图片尺寸 外型尺寸
缩略图( Thumb7 ) Vnail ) (大小取决于媒体设置。默认为 150像素)
中等大小( Medium ) (大小取决于媒体设置。默认为300像素)
大尺寸( Large ) (大小取决于媒体设置。默认为1024像素)~ T q I y { ? F
中大尺寸( Medium Large ) 768像素
2x中大尺寸( 2x Medium Large ) 1536像素D Q 0 ~ | j % S M
2x大尺寸( 2x Large ) 2048像素
缩放( Scaled ) 2560像素

好了,现在我( – ; 7 = B V ! j们对所有生成的图像的实际文% a h ` a B |件大小有所了解,让我们考虑一下800个原始图像中每个图像重约1.5MB至2MB的平均情况。/ r % g w }结果大致如下:

图片尺寸 外型尺寸 文件大小 K 0 Q J ` 7大小
缩略图( Thumbnail ) (大小取决于z / – G 6媒体设置) 10KB 8MB
中等大小( MediI i n U ; $ Cum ) (大小取决于媒体设置) 20KB 16Mh r L k c 3B
大尺寸( Large ) (大小取K J G g决于媒体设置) 100KB 80MB
中大尺, X d S R a k h k寸( Medium Large ) 768像素 50KM M e ?B 40MB
2x中r K M m H P大尺寸( 2x Medium LargE 4 [ { 5 F we ) 1536像素 200KB 160MB
2x大尺寸( 2x Large ) 2048像素 400KB 320MB
缩放( Scaled ) 2560像素 500KBo C . a : p , d k 400MB

我们将最右边的列进行相加,总共可以得到1024MB或1.024 GBJ q k = ! H ] !考虑到整; 0 / { )个WordPress核心的重量不到50MB,加上一堆插件和D Q C K F , m 3 ~主题仍然不到几百兆字节。因此,相对于整个网站而言,所有这些额外映像所需的磁盘空间量相S m U U当大。

这只是一个只有800张图片6 G p o + U的典型网站;一些站点使用了很多,更不用说高分辨率图像和比以前计算中使用的平均数大得多的图像了。因此,很容易理解i 9 I a,如果不检查WordPress! = @ V n .生成的图像,则所需的磁盘空间量确实会增加8 U – . ? & D

但是,还不仅如此

到目前为止,WordPress已经为每个原始上传的图像生成了七个尺寸的图像。但这还不是所有可能生成的额外图像。因为有些主题和插件,可以通过以下WordPressg F p {核心函数创建更多图像尺寸:

  • set_post_thumbnail_size(M q 1 9 7 E z)– ] / d r为“特色图片”创建自定义尺寸
  • add_image_size()—创建任何– + ] : j 3指定大小的额外图像

例如,名为“ Twenty Fifteen ”的WordPress默认主题添加了另一个额外生成的图像:~ q M , [ G i @

set_post_thumbnail_siO % sze( 825, 510, true );

因此,在服务器上,一个额外的图像,加上其他七个默认生成的图像,再加上原始图像,看起来像这样:

总结一下:WordPress为每个上传的图像至少$ t ~ U %生成7个额外的图像尺寸。然后根据您的主题和) N [ $ + /插件,还可以创建任意数量G } W + P j 2的其他图像大小。对于某些网站,这很有用或没什么大不了的;但是对于其他网站,这可能是完全没有必要的,最糟糕的是浪费了很k c I = } ; u多磁盘空间。

解决方案:禁用不需要的图像尺寸

以上情况只是说明这一点的一个示例。图像总体积或多或少取决于图像、媒体设置、主题和插件功能等。幸运的是,我很多年J z ? 3 \ i 9 j前就禁用了多余的WordPress图像尺寸,因此我能够避免自己站点上的大量磁盘占用。

那么解决方案是什么?如何管理所有这些额外的图片并节省磁盘空间?诀窍是了解如何禁用每个额外的图像大小,因此您可以添加所需Z w i `的代码以禁用(或自Q 9 + | j . P – 3定义)不需要的尺寸。以下是控制它们的神奇方法

  • 禁用缩略图大小
  • 禁用中等大小
  • 禁用大尺寸
  • 禁用中大尺寸= @ D 1 6 r x
  • 禁用2x中大尺寸
  • 禁用2倍大尺寸
  • 禁用缩放
  • 禁用其他尺6 h / 6 b x q J B

注意:请勿禁用主题所需的任何图像尺寸,否则主题将不能正常显示布局!

禁用缩略图大小

要禁用缩略图尺寸图像的生成,请在“设置>媒体>图像大小”下将+ 2 o“缩略图大小”选项设置为“0”。设置为“0”将禁用此尺寸图像的自动生n 2 K [ O X J成。设置为任何其他值可自定义大小而不是禁用大小。在WordPress后台的设置菜单下# 5 x % B G,默认界面如下所示:

G 4 j ?者,如– N , 0 / T M ]果您希望[ P m ;以代码方式禁用缩略图大小的图像,则可以将以下代码段添加到} h Z F s T主题中functions.php

functil 5 - ^ 9 4on sn 8 W j y j ! RhapeSpace_A ? ) mdisable_thumbnail_images($sizes) {
unset($sizes[\'thumbnail\']); // di4 3 zsable thumbnail size
return $sizes;
}
add_action(\'intermediate_image_sizes_advanced\', \'shapeSpu = x ] Q W - - Gace_disable_thumbnail_images\');

提示:如以下某些技术所示,T + L A )上述技术可用于禁用其他图像尺寸。因此,您可以将一些禁用大小的代码整合到一个代码段中(如本文底部所示)。

禁用中d 5 \ _ f等大小

要禁用中等尺寸图像的生成,请在“设置>媒体>图像大小”下将“中等大小”选项设置为“0”。设置n x 9为“0”将禁用此尺寸图像的自动生成。设置为任何其他值可自定义大小而不是禁用大小。

或者,如果您希望通过编程方式禁用中型图像,则可以将以下代码段添加到主题中functions.php

function shapeSpace_i v ` ) _ j k ` Ydisable_medium_images($sizes) {
unset($sizes[\'medium\']); // disable medium size
return $sizes;
}
add_action(\'intermed8 o ~ 7 C \ 5iate_image_sizes_advanced\', \'shapeSpace_disc + { pable_medium_images\');

禁用大尺寸

要禁用大尺寸图像的生成,请在“设置>媒体>图像大小”下将“大尺寸”选项设置为“0”。设置为“0”将禁用此尺寸图像的自动生成。设置为任何其他值? M N 4可自定义大小而不是禁用大小。

或者,如果您希望9 N q b ! C f G r以编程方式禁用大尺寸图像n * V ( B,则可以将以下代码段添加到主题中functions.php

fu$ F Y n C E Z = %nction shapeSpace_disable_large_images($sizes) {
unset($sizes[\'large\']); // disable large size
return $sizes;
}
add_aA I ( [ 2 & r !ction(a 9 L X } 1\'intermediate_9 5 * S % i ] m uimage_sizes# X a O z 6 ) V ~_advanced\', \'shapeSpace_disable_large_images\');

禁用中大尺寸

o F O * 0 p e m禁用“中大”尺寸的图像,请在主题fun6 v ( - E j ] XctionsU m h w M U 2 O.php文件中添加以下代码段:

function shapeSpace_O i 2 \disable_medium_larg- ) ( { , Je_images($sizes) {
unset(q Z M b r I 2 Q$sizes[\'medium_large\']); // disable 768px size images
return $sizes;
}
add_filter(\'intermediate_image_sizes_advanced\', \'shapeSpace_disable_medium_large_images\');

禁用2x中大尺寸

要禁用“2x中大”尺寸的图像,请在主题functions.php文件中添加以下代码段:

function shapeSpace_disable_2x_medium_large_images($sizes) {
unset($sizes[\'1536x1536\']); // disable 2x medium-large size
return $sizes;
}
add_filter(\'intermediate_image_sizes_advanced\', \'shapeSpace_disable_2x_medium_large_images\9 y j f 0 K T F');

禁用2倍大尺寸

要禁用“ 2倍大”尺寸的图像,请在主题functions.php文件中添加以下代码段:

function s: # F zhapeSpace_disable_2x_large_images($sizes) {
unset($sizes[\'2048x2048\']); // disablea B c ( x 2x lar/ { A ^ 0 ? n 4ge size
return $sizes;
}
add_filter(\'intermediate_im@ 2 3 p V b {age_sizes_advanced\', \'shapeSpace_disable_2x_large_images\');

禁用缩放

要禁用“缩放”图像,请在主题functions.php文件中添加以下代码段:

add_filter(\'big_imag9 / !e_size_threshold\', \'__return_false\');

禁用其他尺寸

对于通过set_post_thumbnail_size()add_E 5 Pimage_si/ N E - dze()生成的任何其他图像,可以使用remove_imW t v j a Lage_size()。这是一个例子:

function shapeSpa\ P N = q { Zce_disable_other_images() {
remove_image_size(\'post-thumbnail\'); // disa$ g S u F % N v 9ble set_post_thumbnail_size()
remove_image_size(\'another-siz: T ! M Ce\');   // disable other add image sizes
}
add_action(\'init\Q ` x /', \'shapeSpace_disable_other_images\');

关键x k $ g 1 D X ]是要知道要删除的自定义图像尺寸的名称/标记。对于设定的文章缩略图(即特色图片),始终为post-thumbnB V 2ail。对于通过添加图像尺寸添加的其他图像,名称将根据您的主题或插件而有所不同。因此进行操作前,请首先检查您的上传目录和/或主题功能文件,以确定正在生成的大小。有些主题会增加一堆额外的图像尺寸,而有些则不会,这取决于主题。

多合一代码段

以上是针对不同需求单独的代码示例,这里有一个“多合一”代码段,它将上述所有技f . 5 ]术组合并简化为一个即插即用的代码段:

// 禁用自动生成的图片尺寸
function shaph l 4 V l ! f JeSpace_disable_image_sizes($N W # l h b Nsizes) {
unset($sizes[\'thumbnail\']);    // disable thumbnail size
unset($sizes[\'medium\']);       // disable medium size
unset($sizes[\'large\']);        // disable large size
unset($sizes[\'medium_large\']); // disable medium-large size
unset(f Q P Y 7 . .$sizes[\'1536x1536\']);    // disable 2x medium-largeo F 8 @ - M m k size
unset($sizes[\'2048x2048\']);    // disable 2x large size
retu/ 4 q + ^ / Krn $sizes;
}
add_action(\'intermediate_image_( = b K K N hsizes_advanced\', \'shapeSpacr j & a $e_disable_image_sizes\');
// 禁用缩放尺寸
add_filter(\'big_image_size_threshold\', \'__retu~ & & H Yrn_false\');
// 禁用其他图片尺寸
function shapeR ] j ; h n oSpace_disable_other_image_sizes() {
remove_image_sis M Q 8 Y 3ze(\'post-thumbnail\'); // disable images added via set_post_thumbd - 5nail_size()
remove_/ u Z + Iimage_size(\'another-size\');   //( D } disable any other added image sizes
}
add_action(\'initX t b 6 S 2 w ^ b\', \'shP L QapeSpace_disable_other_image_sizes\');

该代码段结合了禁用所有WordPress生成的图像(仅保留原始上传的图像)所需的所有技术。唯一需要的编辑是针对最后一个函数,其中“其他”图像尺寸被禁用;您可能需要在其中编辑字段名another-size以便匹配其他自定义尺寸,或者如果没有其他尺寸,只需注释掉或删除该行。

提示:除了WordPress产生的所有其他@ ~ F n z { N & f图像外,您可能还希望控制或禁用WordPress提供的所有额外的响应图像功能。可以直接使用Disable Responsive Images Complete插件来进行设置,非常简单。

总结

对于包含大量图像的网站,控制WordPress图像大小可能更为重要。但是,即使您的站点不时地仅上传一些图像,也要使文件尽可能简单和轻巧,这可以创建一个更精简、更快、更优化的WordPG } S 1 . ArR & \ q 0 s uess驱动q y i b # # \ F (的网站。

发表评论

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