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

WooCommerce(Avada主题)自定义复选框单次计费问题修复求助

修复WooCommerce中Avada主题附加费用重复显示与计费问题

1. 修改订单确认页的复选框显示(review-order.php)

原代码在购物车商品循环内输出复选框,导致每个商品都重复显示。将复选框移出循环,仅在购物车商品列表外显示一次:

<?php

do_action( 'woocommerce_review_order_before_cart_contents' );

foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
    $_product     = apply_filters( 'woocommerce_cart_item_product', $cart_item['data'], $cart_item, $cart_item_key );
    $product_id   = apply_filters( 'woocommerce_cart_item_product_id', $cart_item['product_id'], $cart_item, $cart_item_key );
    $product_name = apply_filters( 'woocommerce_cart_item_name', $_product->get_name(), $cart_item, $cart_item_key );

    // 输出商品名称
    echo '<h4>' . esc_html( $product_name ) . '</h4>';
}

// 将复选框移到商品循环外,仅显示一次
woocommerce_form_field( 'liftgate', array(
    'type'  => 'checkbox',
    'class' => array( 'form-row-wide' ),
    'label' => 'Add Liftgate ($90)',
), '');

woocommerce_form_field( 'inside_delivery', array(
    'type'  => 'checkbox',
    'class' => array( 'form-row-wide' ),
    'label' => 'Add Inside Delivery ($135)',
), '');

do_action( 'woocommerce_review_order_after_cart_contents' );

2. 修改附加费用计算逻辑(functions.php)

原代码遍历每个购物车商品累加费用,导致勾选一次就按商品数量重复计费。改为直接检查全局复选框参数,仅收取一次费用:

function calculate_additional_fees( $cart ) {
    $liftgate_fee = 90;
    $inside_delivery_fee = 135;

    // 检查Liftgate复选框是否勾选,勾选则添加一次费用
    if ( isset( $_POST['liftgate'] ) && $_POST['liftgate'] == 1 ) {
        $cart->add_fee( 'Liftgate', $liftgate_fee );
    }

    // 检查Inside Delivery复选框是否勾选,勾选则添加一次费用
    if ( isset( $_POST['inside_delivery'] ) && $_POST['inside_delivery'] == 1 ) {
        $cart->add_fee( 'Inside Delivery', $inside_delivery_fee );
    }
}
add_action( 'woocommerce_cart_calculate_fees', 'calculate_additional_fees', 20, 1 );

改动说明

  • 移除了复选框名称中的$cart_item_key后缀,确保每个附加服务对应唯一复选框
  • 将复选框代码从商品循环中移出,实现仅显示一次的效果
  • 简化费用计算逻辑,不再遍历购物车商品,直接根据复选框状态添加单次费用,避免重复计费

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 06:25:32