当优惠券触发“免费送货”时,我正在使用这个官方的 woocommerce 钩子和代码片段来隐藏其他送货方式。哪个工作正常。
目前,它只显示免费送货。我正在尝试添加一个文本行,其中显示免费送货说“-£3.95”,以便让用户知道他们已经节省了运费。
我尝试在 IF 语句中添加一个虚拟的“费用”内联,但它不会显示。
$cart->add_fee( 'You saved -£3.95');
代码如下:
function my_hide_shipping_when_free_is_available( $rates ) {
$free = array();
foreach ( $rates as $rate_id => $rate ) {
if ( 'free_shipping' === $rate->method_id ) {
$free[ $rate_id ] = $rate;
break;
}
}
return ! empty( $free ) ? $free : $rates;
}
add_filter( 'woocommerce_package_rates', 'my_hide_shipping_when_free_is_available', 100 );
例如像下面的例子: