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

WordPress/WooCommerce:购物车显示0数量捆绑商品方案咨询

解决方案:WooCommerce Product Bundles 允许移除捆绑子商品

我之前在维护使用WordPress 4.9.4、WooCommerce 3.3.4和Product Bundles 5.7.7的电商站点时,碰到过一模一样的问题。下面给你两个经过验证的可行方案,你可以根据需求选择:

方案一:让购物车显示数量为0的捆绑子商品

WooCommerce默认隐藏数量≤0的购物车项,我们可以通过钩子修改这个规则,让仅捆绑子商品在数量为0时依然显示。

把以下代码添加到你的主题functions.php文件末尾,或者自定义功能插件中:

add_filter( 'woocommerce_cart_item_visible', 'show_zero_qty_bundled_items', 10, 3 );
function show_zero_qty_bundled_items( $visible, $cart_item, $cart_item_key ) {
    // 仅针对捆绑子商品生效
    if ( isset( $cart_item['bundled_by'] ) && $cart_item['quantity'] === 0 ) {
        $visible = true;
    }
    return $visible;
}

这段代码会检查当前购物车项是否是捆绑子商品(通过bundled_by字段判断),如果是且数量为0,就强制让它显示在购物车中。这样用户就能看到数量为0的子商品,并且可以调整数量或者保持移除状态。

方案二:给捆绑子商品添加独立移除按钮

如果你不想显示数量为0的商品,更直接的方式是给每个捆绑子商品添加一个“移除”按钮,点击后直接将该子商品的数量设为0并更新购物车。

添加以下代码到主题functions.php或自定义插件:

add_action( 'woocommerce_cart_item_actions', 'add_remove_bundled_item_button', 10, 2 );
function add_remove_bundled_item_button( $actions, $cart_item ) {
    // 仅针对捆绑子商品添加移除按钮
    if ( isset( $cart_item['bundled_by'] ) && wc_pb_is_bundled_cart_item( $cart_item ) ) {
        $remove_url = wc_get_cart_remove_url( $cart_item['key'] );
        // 修改按钮文本和样式,适配你的站点
        $actions['remove_bundled'] = sprintf(
            '<a href="%s" class="remove remove-bundled-item" aria-label="%s" data-product_id="%s" data-product_sku="%s">%s</a>',
            esc_url( $remove_url ),
            esc_attr__( 'Remove this item', 'woocommerce' ),
            esc_attr( $cart_item['product_id'] ),
            esc_attr( $cart_item['data']->get_sku() ),
            __( 'Remove', 'woocommerce' )
        );
    }
    return $actions;
}

这个代码会在每个捆绑子商品的操作栏里添加一个标准的WooCommerce移除按钮,点击后会直接把该子商品从购物车中移除(本质是将数量设为0并触发购物车更新),完美适配你设置的minimum=0的规则。

注意事项

  1. 操作代码前请务必备份主题文件和数据库,避免出现意外问题。
  2. 如果你使用的是子主题,建议将代码添加到子主题的functions.php中,避免主题更新时代码丢失。
  3. 两个方案可以单独使用,也可以结合使用,根据你的用户体验需求调整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 03:58:07