如果满足某些条件,我在尝试在最新的Woocommerce(2.6.x)中设置免费送货时遇到一个小问题。
如果选择“货到付款”,价格超过X€且选择了某个国家/地区,则客户需要设置免费送货。
我尝试了很多我发现的片段,但似乎没有任何效果。我不想使用太多的插件(已经有很多插件)。
我需要类似的东西:
if ($country == 'DE' && $cart_total >= 100 && $payment_gateway == 'cod' ) {
$shipping == 0;
}
提前感谢您的所有答案,
法律上的
答案 0 :(得分:0)
我正在使用Table Rate Shipping for WordPress,我找到了解决问题的方法。缺少检查付款方式,但这不应该很难找到。以防其他人发现它有用。
add_filter( 'woocommerce_package_rates', 'sl_custom_shipping_rates', 10, 2 );
function sl_custom_shipping_rates( $rates, $package ) {
foreach( $rates as $key => $value ) {
if( $value->method_id == 'table_rate_shipping' && WC()->cart->cart_contents_total >= 100 && WC()->customer->get_shipping_country() == "DE") {
$rates[ $key ]->cost = 100;
}
}
return $rates;
}