最新公告
  • 欢迎您光临哆彩anki网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • 详解如何禁用WordPress自动生成的不同尺寸的图片

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

    了解如何禁用任何/所有 WordPress 自动生成的图像以为大家的网站实现理想的配置。

    为了更好地了解正在发生的事情及其重要性,我们将以我们的一个真实的网站作为例子。这个网站是我喜欢发布奇怪/启发/发现图像的地方。到目前为止,已经通过 WP 媒体库将 800 多个图像上传到该站点。因此,如果我没有采取措施阻止 WordPress 自动生成每个图像的多个副本,那么 800 个数字将更像数千个图像。

    因此,以我们这个网站为例,让我们做一些快速数学运算。我们有一个 WordPress 网站,其中包含 800 张原始图片,每张图片平均大小约为 2MB。因此,总共 800 张原始图像的总体积约为 1,600 MB 或 1.6 GB。现在,让我们让 WordPress 完成其工作,并为每个图像创建各种尺寸的额外副本。从 WordPress 5.3 版开始,WordPress 为通过媒体库上传的每个图像创建以下额外图像:

    图片尺寸 外型尺寸
    缩略图( Thumbnail ) (大小取决于媒体设置。默认为 150 像素)
    中等大小( Medium ) (大小取决于媒体设置。默认为 300 像素)
    大尺寸( Large ) (大小取决于媒体设置。默认为 1024 像素)
    中大尺寸( Medium Large ) 768 像素
    2x 中大尺寸( 2x Medium Large ) 1536 像素
    2x 大尺寸( 2x Large ) 2048 像素
    缩放( Scaled ) 2560 像素

    好了,现在我们对所有生成的图像的实际文件大小有所了解,让我们考虑一下 800 个原始图像中每个图像重约 1.5MB 至 2MB 的平均情况。结果大致如下:

    图片尺寸 外型尺寸 文件大小 总大小
    缩略图( Thumbnail ) (大小取决于媒体设置) 10KB 8MB
    中等大小( Medium ) (大小取决于媒体设置) 20KB 16MB
    大尺寸( Large ) (大小取决于媒体设置) 100KB 80MB
    中大尺寸( Medium Large ) 768 像素 50KB 40MB
    2x 中大尺寸( 2x Medium Large ) 1536 像素 200KB 160MB
    2x 大尺寸( 2x Large ) 2048 像素 400KB 320MB
    缩放( Scaled ) 2560 像素 500KB 400MB

    我们将最右边的列进行相加,总共可以得到 1024MB 或 1.024 GB!考虑到整个 WordPress 核心的重量不到 50MB,加上一堆插件和主题仍然不到几百兆字节。因此,相对于整个网站而言,所有这些额外映像所需的磁盘空间量相当大。

    这只是一个只有 800 张图片的典型网站;一些站点使用了很多,更不用说高分辨率图像和比以前计算中使用的平均数大得多的图像了。因此,很容易理解,如果不检查 WordPress 生成的图像,则所需的磁盘空间量确实会增加。
    但是,还不仅如此
    到目前为止,WordPress 已经为每个原始上传的图像生成了七个尺寸的图像。但这还不是所有可能生成的额外图像。因为有些主题和插件,可以通过以下 WordPress 核心函数创建更多图像尺寸:

    • set_post_thumbnail_size() —为“特色图片”创建自定义尺寸
    • add_image_size() —创建任何指定大小的额外图像

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

    1. set_post_thumbnail_size( 825, 510, true );

    因此,在服务器上,一个额外的图像,加上其他七个默认生成的图像,再加上原始图像,看起来像这样:
    详解如何禁用WordPress自动生成的不同尺寸的图片
    总结一下:
    WordPress 为每个上传的图像至少生成 7 个额外的图像尺寸。然后根据大家的主题和插件,还可以创建任意数量的其他图像大小。对于某些网站,这很有用或没什么大不了的;但是对于其他网站,这可能是完全没有必要的,最糟糕的是浪费了很多磁盘空间。
    解决方案:
    以上情况只是说明这一点的一个示例。图像总体积或多或少取决于图像、媒体设置、主题和插件功能等。幸运的是,我很多年前就禁用了多余的 WordPress 图像尺寸,因此我能够避免自己站点上的大量磁盘占用。那么解决方案是什么?如何管理所有这些额外的图片并节省磁盘空间?诀窍是了解如何禁用每个额外的图像大小,因此大家可以添加所需的代码以禁用(或自定义)不需要的尺寸。以下是控制它们的神奇方法:

    • 禁用缩略图大小
    • 禁用中等大小
    • 禁用大尺寸
    • 禁用中大尺寸
    • 禁用 2x 中大尺寸
    • 禁用 2 倍大尺寸
    • 禁用缩放
    • 禁用其他尺寸

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

    禁用缩略图大小
    要禁用缩略图尺寸图像的生成,请在“设置>媒体>图像大小”下将“缩略图大小”选项设置为“0”。设置为“0”将禁用此尺寸图像的自动生成。设置为任何其他值可自定义大小而不是禁用大小。在 WordPress 后台的设置菜单下,默认界面如下所示:
    详解如何禁用WordPress自动生成的不同尺寸的图片
    或者,如果大家希望以代码方式禁用缩略图大小的图像,则可以将以下代码段添加到主题中 functions.php:

    1. function shapeSpace_disable_thumbnail_images($sizes) {
    2.  
    3. 	unset($sizes['thumbnail']); // disable thumbnail size
    4. 	return $sizes;
    5.  
    6. }
    7. add_action(
      'intermediate_image_sizes_advanced', 'shapeSpace_disable_thumbnail_images');

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

    禁用中等大小
    要禁用中等尺寸图像的生成,请在“设置>媒体>图像大小”下将“中等大小”选项设置为“0”。设置为“0”将禁用此尺寸图像的自动生成。设置为任何其他值可自定义大小而不是禁用大小。或者,如果大家希望通过编程方式禁用中型图像,则可以将以下代码段添加到主题中 functions.php:

    1. function shapeSpace_disable_medium_images($sizes) {
    2.  
    3. 	unset($sizes['medium']); // disable medium size
    4. 	return $sizes;
    5.  
    6. }
    7. add_action('intermediate_image_sizes_advanced', 'shapeSpace_disable_medium_images');

    禁用大尺寸
    要禁用大尺寸图像的生成,请在“设置>媒体>图像大小”下将“大尺寸”选项设置为“0”。设置为“0”将禁用此尺寸图像的自动生成。设置为任何其他值可自定义大小而不是禁用大小。或者,如果大家希望以编程方式禁用大尺寸图像,则可以将以下代码段添加到主题中 functions.php:

    1. function shapeSpace_disable_large_images($sizes) {
    2.  
    3. 	unset($sizes['large']); // disable large size
    4. 	return $sizes;
    5.  
    6. }
    7. add_action('intermediate_image_sizes_advanced', 'shapeSpace_disable_large_images');

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

    1. function shapeSpace_disable_medium_large_images($sizes) {
    2.  
    3. 	unset($sizes['medium_large']); // disable 768px size images
    4. 	return $sizes;
    5.  
    6. }
    7. add_filter('intermediate_image_sizes_advanced', 'shapeSpace_disable_medium_large_images');

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

    1. function shapeSpace_disable_2x_medium_large_images($sizes) {
    2.  
    3. 	unset($sizes['1536x1536']); // disable 2x medium-large size
    4. 	return $sizes;
    5.  
    6. }
    7. add_filter('intermediate_image_sizes_advanced', 'shapeSpace_disable_2x_medium_large_images');

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

    1. function shapeSpace_disable_2x_large_images($sizes) {
    2.  
    3. 	unset($sizes['2048x2048']); // disable 2x large size
    4. 	return $sizes;
    5.  
    6. }
    7. add_filter('intermediate_image_sizes_advanced', 'shapeSpace_disable_2x_large_images');

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

    1. add_filter('big_image_size_threshold', '__return_false');

    禁用其他尺寸
    对于通过 set_post_thumbnail_size()和 add_image_size() 生成的任何其他图像,可以使用 remove_image_size()。这是一个例子:

    1. function shapeSpace_disable_other_images() {
    2.  
    3. 	remove_image_size('post-thumbnail'); // disable set_post_thumbnail_size() 
    4. 	remove_image_size('another-size');   // disable other add image sizes
    5.  
    6. }
    7. add_action('init', 'shapeSpace_disable_other_images');

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

    多合一代码段

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

    1. // 禁用自动生成的图片尺寸
    2. function shapeSpace_disable_image_sizes($sizes) {
    3.  
    4. 	unset($sizes['thumbnail']);    // disable thumbnail size
    5. 	unset($sizes['medium']);       // disable medium size
    6. 	unset($sizes['large']);        // disable large size
    7. 	unset($sizes['medium_large']); // disable medium-large size
    8. 	unset($sizes['1536x1536']);    // disable 2x medium-large size
    9. 	unset($sizes['2048x2048']);    // disable 2x large size
    10.  
    11. 	return $sizes;
    12.  
    13. }
    14. add_action('intermediate_image_sizes_advanced', 'shapeSpace_disable_image_sizes');
    15.  
    16. // 禁用缩放尺寸
    17. add_filter('big_image_size_threshold', '__return_false');
    18.  
    19. // 禁用其他图片尺寸
    20. function shapeSpace_disable_other_image_sizes() {
    21.  
    22. 	remove_image_size('post-thumbnail'); // disable images added via set_post_thumbnail_size() 
    23. 	remove_image_size('another-size');   // disable any other added image sizes
    24.  
    25. }
    26. add_action('init', 'shapeSpace_disable_other_image_sizes');

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

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

    总结

    对于包含大量图像的网站,控制 WordPress 图像大小可能更为重要。但是,即使大家的站点不时地仅上传一些图像,也要使文件尽可能简单和轻巧,这可以创建一个更精简、更快、更优化的 WordPress 驱动的网站。

    1. 本站所有资源来源于站长制作以及用户上传和网络,如有侵权请邮件联系站长!
    2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
    3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
    4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
    5. 如有链接无法下载、失效或广告,请联系管理员处理!
    6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
    哆彩Anki资源网 » 详解如何禁用WordPress自动生成的不同尺寸的图片

    常见问题FAQ

    Anki卡牌是否所有设备都可以使用?是否限制设备版本号?
    除个别卡牌外,其余卡牌所有设备都可以使用,不限制软件版本号!
    开通会员有什么好处?
    永久会员可以免费下载全站资源,普通会员个别资源会有优惠价,其余免费下载
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    哆彩Anki
    一个高级程序员模板开发平台
    • 1953会员总数(位)
    • 795资源总数(个)
    • 1本周发布(个)
    • 1 今日发布(个)
    • 248稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情
    升级SVIP尊享更多特权立即升级