我想使用woocommerce中的代码添加运费 . 这是我的要求 .
如果我的运输国家是澳大利亚,则运费不同,澳大利亚境外也不同 . 现在,如果我的运输国家是澳大利亚和
1. if order value is < 100, then shipping charge is $100
2. if order value is > 100, then shipping charge is $0.
如果我的运输国家在澳大利亚境外
1. if order value is < 500, then shipping charge is $60
2. if order value is > 500 and < 1000, then shipping charge is $50
3. if order value is > 1000, then shipping charge is $0
那么,当用户从结帐页面更改送货国家时,如何根据我的上述要求添加自定义运费 . 我尝试下面的代码,但它只适用于订单 Value ,如何在自定义插件中的下面的代码中添加运输国家/地区 .
class WC_Your_Shipping_Method extends WC_Shipping_Method {
public function calculate_shipping( $package ) {
global $woocommerce;
if($woocommerce->cart->subtotal > 5000) {
$cost = 30;
}else{
$cost = 3000;
}
}
$rate = array(
'id' => $this->id,
'label' => $this->title,
'cost' => $cost,
'calc_tax' => 'per_order'
);
// Register the rate
$this->add_rate( $rate );
}
2 回答
最好为可以使用钩子的运费制作自定义插件 .
首先在自定义插件中扩展'WC_Your_Shipping_Method'类,并使函数如下:
首先将管理员名称中的送货方式设为'myship'
然后在主题functions.php文件中添加以下代码