一、库存管理的两种模式:开启与关闭有什么区别
先说结论:库存管理只有两种模式——开启时系统自动计数,关闭时只能手动标记有货/缺货/可预订。
🟢 1.1 开启库存管理时会发生什么
当你在全局设置里勾选启用,并且在某个产品上勾选管理库存并填了库存数量后,WooCommerce 会自动做以下事情:
- 客户下单支付完成后,对应产品的库存数量自动减 1(或减去下单件数)
- 库存数量降到低库存阈值时,系统发邮件提醒你补货
- 库存数量降到 0(或低于缺货阈值)时,前端标记为缺货,并根据你的缺货行为设置决定客户能不能继续下单
- 订单被取消时,已扣减的库存会自动加回库存数量
- 你可以在后台 WooCommerce → 产品 列表页直接看到每个产品的库存列和库存状态标签(有货 / 缺货 / 低库存)

🔴 1.2 关闭库存管理时你只能做什么
不勾选全局启用,或者某个产品上不勾选管理库存,系统不会自动计数。这时你只能在产品的库存标签里手动设置库存状态为以下三个值之一:
- 有货(In stock):前端正常展示,可加购
- 缺货(Out of stock):前端显示缺货提示,无法加购
- 可预订(On backorder):前端允许加购并标注为预订,但没有库存数量字段,系统也不会跟踪或扣减
换句话说,关闭库存管理等于把 WooCommerce 当成展示型目录用,库存要靠你自己拍脑袋管。跨境电商如果走的是真实发货逻辑,强烈建议开启。
二、全局库存设置:一行设置影响整个站点
全局设置是库存系统的总开关,所有产品级别的库存行为都受它约束。路径:WooCommerce → 设置 → 产品 → 库存。
🔌 2.1 启用库存管理
页面第一个选项:管理库存。勾选 启用库存管理 后,你才能在每个产品的库存标签里填数量、设置阈值,系统才会自动扣减计数。

💡 这个开关是”总闸”——关掉它之后,所有产品的库存数量字段都会失效,哪怕你之前每个产品都填了 1000 件,系统也不再自动减数。建议除非你只卖虚拟服务或纯展示型目录,否则保持勾选。
⏳ 2.2 暂留库存分钟数
暂留库存分钟数 是跨境电商容易忽略但很关键的一个设置。它控制的是:未支付订单会锁住库存多久。
具体逻辑:客户点击下单后,订单进入待支付状态,此时系统会预留对应数量的库存,防止其他人同时下单导致超卖。如果客户在设定时间内没有完成支付,订单会自动变成已取消,预留的库存释放回可用库存。
重点关注:
- 这个设置只对待支付状态的订单生效,不影响已暂停或处理中的订单
- 留空即关闭这个功能——未支付订单会一直锁住库存,直到你手动处理或客户付完款
- 设置太短(比如 3 分钟)会导致客户填完地址正准备付款时订单已被取消;设置太长(比如 8 小时)则会让放弃支付的客户长时间锁住库存,影响其他买家
📌 建议值:跨境独立站用 Stripe / PayPal 等在线支付网关,设为 60 分钟比较稳妥,既给客户足够时间完成支付,又不会长时间占用库存。
🔔 2.3 低库存与缺货通知开关
页面上还有两个通知开关:
- 启用低库存通知:勾选后,任意产品库存降到该产品的低库存阈值时,系统给你发邮件
- 启用缺货通知:勾选后,任意产品库存降到缺货阈值(通常为 0)时,系统再发一封邮件
📬 2.4 通知收件人
通知收件人 字段填的是接收库存预警邮件的邮箱地址。留空时默认为 WordPress 站点管理员邮箱。跨境电商运营建议填一个团队共享邮箱或运营负责人的邮箱,避免管理员账户只是技术运维,错过补货提醒。
📏 2.5 低库存阈值与缺货阈值(全局默认值)
页面上有两个全局阈值字段:
- 低库存阈值:当库存降到这个数值时触发低库存通知邮件。这是产品的全局默认值
- 缺货阈值:当库存降到这个数值时产品被标记为缺货并触发缺货通知。这也是产品的全局默认值
这两个是”默认值”——如果某个产品在自身的库存标签里单独填了低库存阈值,产品的覆盖全局。缺货阈值没有单品级的覆盖字段,统一用全局值。

⚠️ 缺货阈值是真正决定一个产品什么时候算”缺货”的数字。如果你的缺货阈值设为 2,意味着库存还有 2 件时前端就已经显示缺货了,不是非得等到 0 才算。跨境电商如果用海运补货周期长,可以把缺货阈值设高一点(比如 5),提前触发缓冲。
👁️ 2.6 缺货可见性与库存显示格式
页面下方还有两个与前端展示相关的设置:
- 从目录中隐藏缺货商品:勾选后,库存为 0(或低于缺货阈值)且未开启允许缺货下单的产品,会在商店列表页和搜索结果里隐藏。产品详情页仍可直接通过 URL 访问。这个设置即使关闭了库存管理也会生效——它判断的是库存状态字段,不一定依赖数量
- 库存显示格式:三个选项——始终显示库存数量、仅低库存时显示、从不显示库存数量。跨境电商建议选”仅低库存时显示”,平时不露具体数字避免竞品探价,但快断货时显示数字反而能制造紧迫感促进下单

三、单个产品的库存设置:每个 SKU 都要单独配置
全局开关打开只是第一步,每个产品还要单独在自身的库存标签里勾选管理库存并填数量,库存系统才会真正跟踪。
🏷️ 3.1 进入单产品库存标签
操作路径:产品 → 所有产品,点击任意一个简单产品进入编辑页,向下滚动到产品数据面板,点击顶部的 库存 标签。
✅ 3.2 管理库存勾选框
页面上第一个字段是 管理库存 勾选框。这是单产品的库存开关:
- 勾选:出现库存数量、允许缺货下单、低库存阈值等字段,系统开始自动扣减计数
- 不勾选:只能用库存状态下拉菜单手动选 有货 / 缺货 / 可预订
逻辑判断:全局开关关了,单产品这里勾了也没用。总闸不开,分开关就是装饰。

🔢 3.3 SKU 与库存数量
勾选管理库存后可以填:
- SKU(库存单位):可选字段,填了便于在 产品 → 所有产品 列表用 SKU 搜索和筛选。变体级别不填会继承产品级别的 SKU
- 库存数量:当前这件产品的库存件数。注意这是整数,填完保存后系统会在订单支付完成时自动减去下单数量
🛒 3.4 允许缺货下单
允许缺货下单 下拉框有三个选项,控制的是库存卖到 0 之后客户还能不能继续买。这是本篇的核心,详见下一节。
🎚️ 3.5 单品低库存阈值
低库存阈值 是单品级别的阈值,填了会覆盖全局的默认值。比如全局默认低库存阈值是 10,但某个畅销品的补货周期长,你可以单独把这个产品的阈值设为 30,让系统更早提醒你补货。留空则用全局值。
🔗 3.6 单品与全局阈值的关系判断
整理一下逻辑:
- 全局阈值是”对所有产品的兜底默认值”
- 单品阈值是”对这个产品的个性化覆盖”,填了就听单品的
- 缺货阈值没有单品字段,全产品统一用全局值,不可单独覆盖
- 低库存通知邮件触发的判断依据是”当前库存数量 ≤ 阈值”,所以阈值越高提醒越早,但提醒太早也会变噪音(频繁收到其实还能卖一阵的预警)
💡 建议做法:全局设个保守值(比如 10)作为兜底,在大件、远洋运输、长补货周期等单品上单独调高阈值,并在 SKU 备注”补货周期”,方便日后审计。
四、允许缺货下单三种模式对比
这是库存管理里最容易搞混的一块。直接给结论:三种模式的区别就是”能不能继续卖”和”卖的时候告不告诉客户”的组合。
🚫 4.1 不允许缺货下单
库存为 0 时,前端产品页加购按钮变灰或消失,客户无法下单。这是最保守的模式,适合真实库存、必须发货、不接受预订的产品。
前端行为:产品页显示缺货提示文字”此产品目前缺货”,下单按钮不可点击。
适用场景:跨境物流成本高的重物、定制类产品、供应商不稳定不允许承诺交付时间的商品。
⚠️ 4.2 允许缺货下单,并通知客户
库存为 0 时客户仍可下单,但产品页会显示”可预订”或类似提示,明确告诉客户”当前缺货,下单后等补货”。这是跨境电商最常用的模式。
前端行为:加购按钮可点击,产品页或购物车页显示一行醒目提示,类似”该产品可预订,将在补货后发货”。
适用场景:有稳定补货渠道、但某些 SKU 暂时库存不足、客户愿意等待、你又不想损失订单的场景。跨境卖家常见。
⚠️ 关键细节:这个模式下客户的订单会正常产生,但库存数量可以变成负数(区别于”不允许”模式库存最低是 0)。这里说的”通知”是前端告诉客户,不是说后台给你发邮件。
🔇 4.3 允许缺货下单,不通知客户
库存为 0 时客户仍可下单,前端不会有任何缺货提示。客户看到的是正常产品页,像有货一样买,直到你后台发货时才发现货实际是缺的。
前端行为:和正常有货的产品完全一样,没有”可预订”字样,客户完全不知道这是预订。
适用场景:补货周期极短、能保证很快补到货、且不想用”可预订”字样影响转化的成熟品类。属于激进模式,用错了容易翻车。
📋 4.4 三种模式速记对照
一句话总结三种模式的差异:

- 不允许 → 卖不动了,按钮变灰
- 允许并通知 → 还能卖,但客户进门前先看到”这是预订”
- 允许不通知 → 还能卖,客户完全不知道这是预订,类似偷偷超卖
💡 跨境独立站常见组合:常规爆款选”不允许”防止超卖失控;有稳定供应链但偶有缺货的 SKU 选”允许并通知”既保订单又守诚信;绝对不建议无脑用第三种。
五、变体级库存管理:每个颜色尺码独立计数
变体级库存的本质就是一句话:每个变体都可以像独立 SKU 一样单独管理库存。
变体的创建与配置不在此展开,这里只讲库存相关的核心要点。
🔍 5.1 变体库存勾选位置
操作路径:进入一个可变产品的编辑页,产品数据面板点击 变体 标签,展开任意一个变体行,找到 管理库存 勾选框。

↔️ 5.2 变体勾与不勾的区别
- 勾选:该变体独立计数,出现 SKU、库存数量、允许缺货下单、低库存阈值等字段,系统只跟踪这个变体的库存
- 不勾选:该变体共享父级产品在库存标签里设置的库存。父级产品管理库存开启时,所有没单独勾选的变体共享同一个库存数量池
跨境电商卖服装鞋帽类,每个颜色/尺码组合对应不同物理库存,建议每个变体都单独勾选管理库存。如果你的变体之间实际共享同一批库存(比如不同颜色但同一种原料产出),可以用产品级别的共享库存。
🧩 5.3 变体阈值沿用的逻辑
变体的低库存阈值也是在变体行内单独填,留空则用全局默认值。
变体的缺货阈值没有单独字段,统一跟随全局缺货阈值。
⚠️ 变体数量多时,逐个点开填会很慢。可以先用变体标签顶部的批量操作下拉菜单统一开关管理库存(Toggle “Manage stock”)、批量设置库存状态,库存数量则建议用第 07 篇讲的 CSV 导出→改数字→勾选 Update existing products 导回的方式批量填写,最后只人工微调个别单品的低库存阈值。
六、低库存与缺货通知:谁来收、什么时候发、内容能不能改
⏰ 6.1 触发时机
两类邮件的触发逻辑:
- 低库存通知:当任意管理库存的产品(或变体,取决于”管理库存”勾在产品还是变体级别),其库存数量减少到 ≤ 低库存阈值时触发,发邮件给你设定的收件人
- 缺货通知:当库存数量减少到 ≤ 缺货阈值时触发(通常是库存到 0 或低于全局缺货阈值)
两个通知不是互斥的——同一个产品可能先触发低库存通知,再触发缺货通知,你会先后收到两封邮件。
✉️ 6.2 收件人配置
收件人在 WooCommerce → 设置 → 产品 → 库存 页的 通知收件人 字段配置。留空则默认发到 WordPress 站点管理员邮箱。
💡 这两类库存邮件不会出现在 WooCommerce → 设置 → 邮件的标准邮件模板列表里——它们不像订单确认、退款提示那样有完整可视化编辑界面。如果需要改主题、内容或抄送,必须用过滤钩子来改:
– 收件人:woocommerce_email_recipient_low_stock/woocommerce_email_recipient_no_stock
– 主题:woocommerce_email_subject_low_stock/woocommerce_email_subject_no_stock
– 邮件正文:woocommerce_email_content_low_stock/woocommerce_email_content_no_stock⚠️ 这些钩子需写到子主题的
functions.php或自定义插件里,不在本篇范围内展开。运营同学如果不熟代码,先把全局收件人邮箱填对一个能收到的常用邮箱就够了。

🔎 6.3 邮件收不到的常见原因
如果发现库存预警邮件根本没收到,按以下顺序排查:
- 全局开关开了吗(启用低库存通知 / 启用缺货通知)?
- 收件人邮箱填了吗?填的邮箱能不能正常收信(不要用 QQ 邮箱,跨境主机发信经常被拒)?
- 产品的阈值是不是填得太高,导致早早就发过邮件被你忽略了?低库存阈值建议基于真实补货周期反推
- WordPress 自带的邮件发送本身可能被服务器限流或标记为垃圾邮件。如果遇到大量邮件送达问题,建议接入 SMTP 插件(如 WP Mail SMTP)改走专业邮件服务
七、常见问题
❓ 7.1 全局开关开了,但某个产品库存数量没自动扣减
检查产品自身的库存标签里 管理库存 是否勾选了。WooCommerce 的逻辑是:全局开关是总闸,单产品的勾选是分闸,两个都开了库存才会真正跟踪。单产品只填了库存数量但没勾管理库存,系统不会自动减数——填了也等于没填。
另外,库存数量扣减看的是订单状态变化(待支付 → 处理中 / 已暂停),不是看”下单瞬间”。如果你测试时下单后没付款,后台库存数字看起来没变,其实是正常的——库存只是被预留在内部,不是没扣。
🗂️ 7.2 客户下单成功但产品页还是显示”有货”,库存数字也没变
如果客户选的是线下转账类支付方式,订单会进入 On hold 状态——这个状态下库存已经被扣减(不是预留),但前端商品列表因为缓存的原因可能还显示旧数量。
跨境站点如果开了页面缓存插件(WP Rocket、LiteSpeed Cache 等),库存状态可能被缓存在 CDN 或页面缓存层。解决办法:为产品页配置缓存排除库存相关内容,或使用支持库存状态动态更新的缓存插件策略,最低限度对库存为 0 的产品页不缓存。

🎭 7.3 库存降到 0 后前端还允许下单,但产品页没有”可预订”字样
说明你选的是允许缺货下单下拉选项里第三个”允许但不通知客户”。这个模式就是这种表现:客户照常下单,前端没有任何缺货提示。
如果你以为已经选了”允许并通知客户”,但实际看到没有提示文字,多半是选错了第三个选项——确认一下下拉菜单的当前值。语言包或翻译插件没覆盖到 “Available on backorder” 这个字符串也可能导致提示文字没显示英文,但这是翻译问题不是模式选错。
🧮 7.4 客户支付超时后订单取消,但库存数字看起来还是不对
如果该订单除了这个待支付订单外,之前还有一笔 Processing 订单刚做过退款,且退款时你没勾选 重新库存已退款商品,就会出现数字对不上的情况。排查顺序:
- 在 WooCommerce → 订单 列表里筛选最近一天的 Canceled 订单和 Refunded 订单,逐一查看订单备注,看系统是否记录了库存变更事件
- 检查全局库存设置里 暂留库存分钟数 是否设了合理值,留空会导致未支付订单长期占用预留库存
- 跨境站如果是多网站同库存(多站点共享同一批 SKU 的物理库存),WooCommerce 核心是不支持多站点库存同步的,需要额外插件或 ERP 对接来管理——这种情况库存不对账不是 WooCommerce 的 bug,是架构问题
🔬 7.5 变体页面里看不到”管理库存”勾选框
打开产品数据面板的变体标签,展开任意变体行应该能看到。如果展开是空的,可能是因为:
- 该产品不是可变产品,而是简单产品。需要在产品数据顶部的产品类型下拉里改成 Variable product 才会有变体标签(详见第 05 篇变体设置)
- 该变体当前状态是未启用,展开后字段会变灰。在变体行右下角勾上启用即可
🧰 7.6 我用库存管理插件(比如 ATUM、Stock Management Labs)还用看这篇吗
用了第三方库存插件底层都依赖 WooCommerce 原生的库存机制(订单状态变化触发扣减、预留库存、允许缺货下单三模式等),它们做的是增强(多仓库、序列号、批次、低库存 Dashboard 等高级功能)。基础概念不清,用插件也一样踩坑。这篇搞懂之后再去用插件,能让插件发挥真正的价值。


















- 最新
- 最热
只看作者