WordPress 彻底关闭图片自动压缩|上传原图无损保存、禁止缩略图二次压缩完整教程
时间:2026-07-30 07:36:22 来源:aliz.cn 作者:SKY 阅读:
做技术教程、素材下载类站点,经常需要上传高清截图、代码截图、教程封面原图,但 WordPress 自带图片压缩机制,只要上传大于 2560px 的大图,系统会自动二次压损画质,图片变得发虚、文字边缘模糊,严重影响文章阅读体验。
很多新手只在媒体设置里改尺寸,治标不治本,WP 内核依旧会执行有损压缩。本文给出三套彻底根治方案,从内核常量拦截、主题函数屏蔽、插件可视化开关三个维度彻底关闭自动压缩,上传多大尺寸就保留多大尺寸原图。
该方法直接在 WordPress 核心配置文件关闭图片缩放与压缩,优先级最高,更换主题、升级程序都不会失效。
php
运行
不想改动根目录配置文件,使用子主题函数文件添加钩子,建议必须用子主题,避免主题升级覆盖代码。
php
运行
适合不会修改代码、怕改错文件的站长,插件轻量无冗余:
之前上传的图片已经被压缩,新规则只对后续上传图片生效,历史图片需要手动处理:
bash
运行
排查三点:①CDN 自动图片格式转换 / 自动压缩 ②缓存插件开启了图片优化 ③服务器 Nginx 开启了图片 WebP 自动转码。 解决:CDN 关闭图片压缩、缓存插件关闭图片优化、Nginx 注释掉图片自动压缩规则。
WP 对 PNG 本身压缩极少,模糊基本是上传前图片本身被工具压缩,上传前用 PS / 画图另存为最高质量即可。
php
运行
很多新手只在媒体设置里改尺寸,治标不治本,WP 内核依旧会执行有损压缩。本文给出三套彻底根治方案,从内核常量拦截、主题函数屏蔽、插件可视化开关三个维度彻底关闭自动压缩,上传多大尺寸就保留多大尺寸原图。
一、方案一:wp-config.php 添加常量(最推荐,永久生效,不受主题更新影响)
该方法直接在 WordPress 核心配置文件关闭图片缩放与压缩,优先级最高,更换主题、升级程序都不会失效。
- FTP / 宝塔文件管理器进入网站根目录,找到
wp-config.php - 找到
/* That's all, stop editing! Happy publishing. */这一行上方 - 粘贴以下两段常量代码:
php
运行
// 关闭大图自动缩放压缩,上传原图完整尺寸保存
define( 'WP_IMAGE_RESIZE_DIMENSIONS', false );
// 关闭JPG图片默认82%有损压缩比例,改为100%无损质量
add_filter('jpeg_quality', function(){
return 100;
});
- 保存上传覆盖文件,无需任何后台操作,立即生效。
二、方案二:子主题 functions.php 代码屏蔽(无修改配置文件风险)
不想改动根目录配置文件,使用子主题函数文件添加钩子,建议必须用子主题,避免主题升级覆盖代码。
- 后台 → 外观 → 主题文件编辑器 → 选择子主题 → 打开
functions.php - 拉到文件最底部,粘贴完整代码:
php
运行
/**
* WordPress 彻底关闭图片自动压缩、JPG100%质量输出
*/
// 禁止大尺寸图片自动缩小
add_filter( 'big_image_size_threshold', '__return_false' );
// JPEG图片压缩质量拉满100%无损
add_filter( 'jpeg_quality', 'aliz_wp_full_quality_image' );
function aliz_wp_full_quality_image( $quality ) {
return 100;
}
// 关闭媒体库自动生成多余缩略图尺寸(可选)
add_filter( 'intermediate_image_sizes_advanced', 'aliz_remove_auto_thumbnails' );
function aliz_remove_auto_thumbnails( $sizes ) {
unset( $sizes['thumbnail'] );
unset( $sizes['medium'] );
unset( $sizes['large'] );
unset( $sizes['medium_large'] );
return $sizes;
}
- 点击保存,上传新图片即为原图无损保存。
补充说明:
big_image_size_threshold关闭 WP 默认 2560px 大图强制缩小规则;- jpeg_quality=100 完全关闭 JPG 有损压缩;
- 最后一段可按需注释,注释后依旧生成缩略图,仅不压缩画质。
三、方案三:插件可视化一键关闭(纯小白零代码操作)
适合不会修改代码、怕改错文件的站长,插件轻量无冗余:
- 后台插件搜索安装:Disable Big Image Threshold
- 启用后自动关闭大图缩放;
- 搭配插件 WP JPEG Quality,后台设置 JPG 质量 100%;
- 优势:一键开关,后续恢复默认直接停用插件即可,不会留下垃圾代码。
四、已上传旧图片批量清理(重要收尾步骤)
之前上传的图片已经被压缩,新规则只对后续上传图片生效,历史图片需要手动处理:
- 本地重新导出高清原图,删除媒体库旧模糊图片重新上传;
- 安装插件 Media File Replacer 批量替换文章内旧图片;
- 服务器批量删除无用缩略图(Linux 命令):
bash
运行
find ./wp-content/uploads -name "*-*x*.jpg" -delete
find ./wp-content/uploads -name "*-*x*.png" -delete
五、媒体库后台配套辅助设置
- 后台 → 设置 → 媒体
- 缩略图大小、中等尺寸、大尺寸全部填 0;
- 取消勾选 “裁剪缩略图至固定尺寸”;
- 保存设置,避免后台规则二次干预。
六、高频踩坑问题修复
问题 1:设置完还是压缩图片
排查三点:①CDN 自动图片格式转换 / 自动压缩 ②缓存插件开启了图片优化 ③服务器 Nginx 开启了图片 WebP 自动转码。 解决:CDN 关闭图片压缩、缓存插件关闭图片优化、Nginx 注释掉图片自动压缩规则。
问题 2:PNG 图片依旧模糊
WP 对 PNG 本身压缩极少,模糊基本是上传前图片本身被工具压缩,上传前用 PS / 画图另存为最高质量即可。
问题 3:上传超大图提示内存不足
wp-config.php增加内存限制:php
运行
define( 'WP_MEMORY_LIMIT', '256M' );
七、三种方案选型建议
- 长期稳定、一劳永逸 → 方案一 wp-config.php 常量关闭(首选)
- 不想修改根目录文件 → 方案二 子主题函数代码
- 纯新手、零代码操作 → 方案三 插件一键设置
本文配套模板、静态源码可前往艾立兹素材库alisucai.com下载
发表评论
共有0条评论