WooCommerce产品图片怎么批量处理?
学完这篇,你能把几百张商品图从「一张张手动传」变成「本地批处理 + 插件批量挂到产品上」,整个过程不用写代码。
下面以 WordPress 6.5 + WooCommerce 8.8 后台为例,不同小版本的按钮文字可能略有差异,但路径是一样的。
第一步:先搞清楚 WooCommerce 到底怎么存图
这一步是为了避免你压完图、传完图,结果前台还是显示大图或者被裁歪。WooCommerce 的图片有三层:
- 原图:上传后原封不动存在
/wp-content/uploads/年/月/里,比如2024/06/sku-a001.jpg。 - 缩略图(多尺寸副本):WordPress 在 设置 → 媒体 里定义「缩略图 / 中等 / 大」三个尺寸,上传时自动切好。
- WooCommerce 自己的尺寸:在 外观 → 自定义 → WooCommerce → 产品图片 里,有三项——「缩略图裁剪」建议勾选 1:1(保证列表图是正方形)、「单产品图片宽度」填 800~1200px、「缩略图宽度」填 300px。
注意:改完这三项尺寸,已经上传的老图不会自动变大变小,必须执行第五步「重新生成缩略图」,否则前台仍然用旧尺寸。
第二步:本地先把图压好、改好名
这一步的目标是:把每张 3MB 的相机原图压到 150~250KB,文件名统一成英文小写 + SKU,方便后面批量匹配。
推荐工具:
- XnConvert(免费,Win/Mac):打开后把整个文件夹拖进「输入」,在「动作」里加两条——
调整大小(长边 1200px)、转换(JPEG 质量 82),输出格式选 JPG,点「转换」。 - ImageMagick 命令行(适合会用终端的):在图片目录下执行
mogrify -resize 1200x1200\> -quality 82 -strip *.jpg
-strip 会删掉 EXIF,能再省 10%~20% 体积。
改名规则建议用 SKU 打头,例如 SKU-A001-1.jpg、SKU-A001-2.jpg,后面批量导入时靠这个匹配。
注意:文件名绝对不要出现中文、空格、括号。WordPress 会把中文转成 URL 编码(
%e4%ba%a7%e5%93%81.jpg),导入时极易匹配失败。
第三步:把处理好的图批量送进媒体库
这一步是把文件塞进 WordPress,先别管挂到哪个产品。
- 方法一(最简单):后台 媒体 → 添加新媒体 → 点「选择文件」,在弹出的文件对话框里按住 Ctrl/Cmd 多选,或者直接拖一整个文件夹进去,WordPress 会逐个上传。
- 方法二(几百张以上):用 FTP/宝塔文件管理器,把图片直接传到
/wp-content/uploads/2024/06/,然后安装插件 Add From Server,进 工具 → 从服务器导入,勾选目录 → 点「导入」。这条路不占 PHP 上传时间,不会被超时打断。 - 方法三(要分类):装 FileBird 插件,媒体库左侧会出现文件夹树,可批量勾选图片 → 右键 → 移动到文件夹。
注意:方法二上传后,媒体库不会自动识别,必须走一次 Add From Server,否则数据库里没有记录,产品也挂不上。
第四步:批量把图挂到对应产品
这是最关键的一步,也是最容易翻车的一步。用 WP All Import(免费版)+ WooCommerce 附加组件(付费)来做。
- 先做一个 CSV,第一行是表头,至少包含
SKU和images两列,images列填图片的完整 URL,多个图片用英文逗号分隔。 - 后台 所有产品 → 导入 → 上传 CSV。
- 在「第 3 步 拖拽元素」里,把 SKU 拖到「常规 → SKU」,把 images 拖到「图片 → 图片」,并在右侧勾选 「下载图片到媒体库」。
- 在「第 4 步 唯一标识符」里选 SKU,模式选「Existing Items Only」(只更新已有产品),这样不会重复建产品。
- 点继续 → 确认导入。
第一张图会自动成为特色图(Featured Image),其余进相册。
注意:导入前务必用 工具 → 导出 备份一次产品,或用 UpdraftPlus 备份数据库。批量导入是不可撤销的。
第五步:批量优化和重新生成老图缩略图
如果你已经有几百个上架产品,图片又大又慢,用这一步统一收拾。
批量压缩已有图片:装 ShortPixel Image Optimizer,进 媒体 → Bulk ShortPixel → 左边选「仅未优化的图片」→ 点「开始批量优化」。免费额度是每月 100 张,商用建议买额度。同类还有 Imagify、EWWW Image Optimizer,操作路径几乎一致。
重新生成缩略图:装 Regenerate Thumbnails,进 工具 → Regenerate Thumbnails → 选「所有产品」→ 点 Regenerate All Thumbnails,跑完前台尺寸才会真正更新。
注意:批量任务容易撞上服务器限制。先在 wp-config.php 里把
define('WP_MEMORY_LIMIT', '512M');加上,并在宝塔/host 面板把 PHP 的max_execution_time调到 300 秒,否则跑到一半报 504 超时。
第六步:需要加水印就用命令行批处理
用 ImageMagick 一条命令给整个目录加右下角水印:
mogrify -path ./watermarked -gravity southeast -geometry +20+20 -composite watermark.png *.jpg
watermark.png 是半透明 PNG 水印,-path 指定输出目录,原图不动。加完再走第三步上传。
小结
- WooCommerce 图片是「原图 + 多套缩略图」,改尺寸设置后必须用 Regenerate Thumbnails 重跑。
- 上传前在本地用 XnConvert 或 ImageMagick 压缩并改成英文 SKU 文件名,能省掉后面 90% 的麻烦。
- 大批量入库走 FTP + Add From Server;挂到产品上用 WP All Import,靠 SKU 匹配、勾选「下载图片到媒体库」。
- 老图优化用 ShortPixel 的 Bulk 页面,做之前先备份数据库、调高 PHP 内存和执行时间。
- 文件名禁中文,批量操作前一律先备份。
原文链接:https://www.gj0.com/thread-858.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。