我的WooCommerce网站上有两个统一运费选项,我想在启用免费送货时禁用其中一个。目前我有一个只适用于所有统一运费的函数。
如何检查运费率的实例ID?有人可以帮我理解如何检查实例ID吗?
我尝试回显运输数据以理解可用值,但是没有在前端显示任何回显,所以对于为什么没有回显的提示将会很好。
这是我的代码尝试:
function hide_shipping_when_free_is_available( $rates, $package ) {
$new_rates = array();
foreach ( $rates as $rate_id => $rate ) {
// Only modify rates if free_shipping is present.
if ( 'free_shipping' === $rate->method_id ) {
$new_rates[ $rate_id ] = $rate;
break;
}
}
if ( ! empty( $new_rates ) ) {
//Save local pickup if it's present.
foreach ( $rates as $rate_id => $rate ) {
if ('local_pickup' === $rate->method_id ) {
$new_rates[ $rate_id ] = $rate;
}
if ( 'flat_rate:20' === $rate->instance_id )
$new_rates[ $rate_id ] = $rate;
}
return $new_rates;
}
return $rates;
}
add_filter( 'woocommerce_package_rates', 'hide_shipping_when_free_is_available', 10, 2 );