根据Woocommerce购物车中的产品数量超过40欧元,增加运费。额外的费用根据运输国家的不同而不同

问题描述 投票:0回答:1

这是我写的一个小函数,用于根据购物车中价格超过40欧元的产品数量增加额外的运费。

我的代码截图

<br>
<div>

<?php  

  $additionalShippingCosts = 0;

    foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
     $product = $cart_item['data'];
     $product_id = $cart_item['product_id'];
     $quantity = $cart_item['quantity'];
     $price = WC()->cart->get_product_price( $product );
     $pricenum = (float) $product->get_price();

     if($pricenum < 40) {
      $price2 = 0; 
     } else {
      $price2 = 5;
       $additionalShippingCosts += $price2*$quantity;
     }
?>

  <div>product price: <?php echo $pricenum; ?></div>
  <div>extra cost: <?php echo $price2; ?> * <?php echo $quantity; ?></div>

  <br>
<?php
}


?>

  <div>Additional shipping cost: <?php echo $additionalShippingCosts; ?></div>



</div>

我已经到了函数计算应该加多少钱到运费的地步,现在我需要:1)实际加到运费中 2)每次更新购物车时让它运行 3)引入运费国家的条件。

条件要简单,我打算硬编码。基本上 "如果寄往德国,每件商品超过40欧元的额外运费为10欧元","如果寄往爱尔兰,每件商品超过40欧元的额外运费为15欧元"。

购物车页面的外观与注意事项。

php wordpress woocommerce shipping
1个回答
0
投票

[解决]我犯了一个错误,就是没有好好研究运输类能做什么。这个不需要自定义代码。只需设置位置-&gt的统一费率;对超过XX欧元的产品增加一个运输类-&gt;设置有类和无类的价格,即10.00*[数量]和20.00*[数量]。

© www.soinside.com 2019 - 2024. All rights reserved.