You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何减少WordPress网站服务器上存储的图片文件数量

WordPress减少本地媒体存储文件数量解决方案

针对你提出的4种方案,分别给出可落地的实操建议:

方法1:仅生成站点实际使用的图片尺寸

首先你可以通过代码查询当前主题注册的全部图片尺寸,将以下代码临时添加到主题functions.php文件中,登录WordPress后台即可在顶部通知栏看到所有注册的尺寸列表,查看完成后删除该段代码即可:

function show_all_registered_image_sizes() {
    global $_wp_additional_image_sizes;
    $default_sizes = get_intermediate_image_sizes();
    echo '<pre style="background:#fff;padding:20px;">';
    echo "默认注册尺寸:\n";
    print_r($default_sizes);
    echo "\n自定义注册尺寸:\n";
    print_r($_wp_additional_image_sizes);
    echo '</pre>';
}
add_action('admin_notices', 'show_all_registered_image_sizes');

确认你需要保留的尺寸后,添加以下代码到functions.php即可禁用多余尺寸的自动生成:

function filter_used_image_sizes($sizes) {
    // 数组内填入你确认需要保留的尺寸名称
    $allowed_sizes = ['thumbnail', 'medium', 'your-theme-custom-size'];
    foreach ($sizes as $size_key => $size_value) {
        if (!in_array($size_key, $allowed_sizes)) {
            unset($sizes[$size_key]);
        }
    }
    return $sizes;
}
add_filter('intermediate_image_sizes_advanced', 'filter_used_image_sizes');

方法2:动态生成对应尺寸图片

该方案可实现本地仅存储原图,访问时按需生成图片,实现逻辑如下:

  1. 首先禁用所有缩略图自动生成,参考方法1的代码仅保留需要的尺寸即可,如需仅存原图可清空允许保留的尺寸列表
  2. 配置站点伪静态规则,将带尺寸参数的图片请求转发到自定义处理脚本
  3. 脚本中使用WordPress内置的WP_Image_Editor类校验请求参数合法性、读取原图生成对应尺寸,可选择生成后直接输出不存储到本地,或存储后后续请求直接返回
    注意事项:必须添加参数白名单校验,避免被恶意请求遍历生成大量文件占满服务器资源。

方法3:CDN实现减少本地存储

普通CDN缓存模式无法减少本地文件数量,需搭配CDN的图片实时裁剪功能使用:

  • 本地上传仅保留原图,禁用所有本地缩略图生成
  • 前端所有图片链接替换为CDN域名地址,后缀添加对应尺寸的裁剪参数
  • CDN侧自动完成图片裁剪、缓存、返回,裁剪后的文件仅存储在CDN节点,不会占用本地服务器存储空间
    该方案是目前综合成本、稳定性最优的方案,不需要额外修改站点核心逻辑,也不需要占用本地额外存储。

方法4:可用插件推荐

  • Disable Media Sizes:可视化选择需要保留的图片尺寸,无需写代码即可禁用多余缩略图生成,适配方法1的需求
  • Dynamic Image Resizer:开箱即用的动态图片生成插件,支持自定义是否本地持久化存储生成的图片,适配方法2的需求
  • Media Cleaner:自动扫描媒体库中未被站点引用的文件、多余的历史缩略图,支持一键批量删除,可用于清理现有堆积的多余媒体文件

内容的提问来源于stack exchange,提问作者Iacovos Georgiou

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 09:24:05