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

WooCommerce如何允许添加超过最大库存数量的商品至购物车?

解决WooCommerce超库存添加购物车的错误提示问题

你的问题核心是钩子时机错误:woocommerce_add_to_cart是商品已添加到购物车后才触发的,而WooCommerce的库存检查在添加动作之前就完成了,错误提示已经生成,后续修改购物车数量的操作无法消除这个提示。

正确解决方案

改用添加购物车前的验证钩子woocommerce_add_to_cart_validation跳过库存检查,并清除默认错误提示,同时配合调整购物车数量逻辑:

// 跳过添加购物车时的库存验证,允许超库存添加
add_filter('woocommerce_add_to_cart_validation', 'allow_over_stock_add_to_cart', 10, 3);
function allow_over_stock_add_to_cart($passed, $product_id, $quantity) {
    // 直接允许超库存提交,如需针对特定商品,可在此添加判断逻辑(比如根据product_id筛选)
    $passed = true;
    // 清除WooCommerce自动生成的库存不足错误提示
    wc_clear_notices();
    return $passed;
}

// 确保购物车中保留用户输入的实际数量(覆盖默认的库存限制数量)
add_action('woocommerce_add_to_cart', 'force_cart_item_quantity', 10, 6);
function force_cart_item_quantity($cart_item_key, $product_id, $quantity, $variation_id, $variation, $cart_item_data) {
    WC()->cart->set_quantity($cart_item_key, $quantity);
}

关键说明

  1. woocommerce_add_to_cart_validation是添加购物车流程的核心验证节点,返回true会跳过所有默认验证(包括库存检查)。
  2. wc_clear_notices()用于清除WooCommerce在库存检查不通过时自动生成的错误提示。
  3. 第二个钩子确保用户输入的数量被正确保留,不会被系统自动修正为库存剩余数量。

内容的提问来源于stack exchange,提问作者Web Design

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 23:35:15