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

WooCommerce允许缺货预订的商品变体低库存提示自定义需求

修改WooCommerce低库存提示范围:仅对允许缺货预订的商品变体生效

原代码未限制适用范围,导致所有商品变体都会触发提示。以下是调整后的代码,仅对开启缺货预订且库存数量在1-4之间的商品变体生效:

add_filter( 'woocommerce_get_availability', 'change_stock_text_for_backorder_variations', 20, 2 );

function change_stock_text_for_backorder_variations( $availability, $_product ) {
    // 仅针对商品变体、允许缺货预订、库存状态为有货的商品
    if ( $_product->is_type('variation') && $_product->backorders_allowed() && $_product->is_in_stock() ) {
        $stock_qty = $_product->get_stock_quantity();
        
        // 库存数量大于0且小于5时显示自定义提示
        if ( $stock_qty > 0 && $stock_qty < 5 ) {
            $availability['availability'] = __( "{$stock_qty} in stock, more available on backorder", 'woocommerce' );
        }
    }

    return $availability;
}

关键改动说明:

  • 限制为商品变体:通过$_product->is_type('variation')确保代码只作用于商品变体,而非父商品
  • 检查缺货预订设置:新增$_product->backorders_allowed()判断,仅允许开启缺货预订的商品触发提示
  • 优化条件逻辑:将多条件合并到同一个判断中,减少冗余嵌套,提升代码可读性
  • 明确变量命名:将$qty改为$stock_qty,让变量含义更直观

替换原代码后,只有符合以下全部条件的商品变体才会显示自定义低库存提示:

  1. 属于商品变体(非简单商品/父商品)
  2. 已开启缺货预订功能
  3. 当前库存状态为有货
  4. 库存数量在1到4之间(大于0且小于5)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 11:13:11