woocommerce中基于重量的运输成本-结帐页面上的问题

时间:2019-10-11 10:41:34

标签: php wordpress woocommerce shipping fee

我正在尝试根据以下教程https://businessbloomer.com/woocommerce-display-weight-cart-checkout/为我的产品设置基于重量的运费。

目前,我正在使用3种价格选项:

  • 5公斤以下-6.64€价格
  • 25公斤以下-15.00€价格
  • 25公斤以上-50.00€价格

购物车中的一切正常。我可以看到更新的产品/总重量和正确的运输价格。进入结帐页面时,直到会显示正确的运费,我会更新运费或发票地址。结帐页面刷新后,它将显示最低的运费。重新计算期间似乎没有考虑购物车的重量。

发现/尝试过的事情

  • 当数量为100或更高时,自定义运输费用似乎有效。
  • 禁用其他插件无效。
  • 在设置固定重量而不是在woocommerce_package_rates挂钩中使用WC()->购物车-> get_cart_contents_weight()时,自定义运费将起作用
function bbloomer_woocommerce_tiered_shipping( $rates, $package ) {
    // testing a fixed weight
    // $weightTest = 30;
    if ( WC()->cart->get_cart_contents_weight() < 5 ) {
        if ( isset( $rates['flat_rate:59'] ) ) unset( $rates['flat_rate:64'], $rates['flat_rate:65'] );
    } elseif ( WC()->cart->get_cart_contents_weight() < 25 ) {
        if ( isset( $rates['flat_rate:64'] ) ) unset( $rates['flat_rate:59'], $rates['flat_rate:65'] );
    } else {
       if ( isset( $rates['flat_rate:65'] ) ) unset( $rates['flat_rate:59'], $rates['flat_rate:64'] );
    }
    return $rates;
}

0 个答案:

没有答案