我有一个来自这里的用户帮助我并帮助我正确修复我的代码以使其正常运行,而上面的内容确实适用于自定义字段为 90 天的所有内容,以隐藏所有运输并仅显示“免费送货”(如果有)。但是,我的客户也将免费送货设置为仅在一定数量上显示。
我想知道是否可以添加以下内容;
这是我正在使用的原始代码:
add_filter( 'woocommerce_package_rates', 'show_only_free_shipping_for_autodelivery', 100, 2 );
function show_only_free_shipping_for_autodelivery ( $rates, $package ) {
// Loop through cart items
foreach( $package['contents'] as $cart_item ){
if( $cart_item['data']->get_meta('auto_delivery_default') == '90 Days' ) {
$found = true;
break; // Stop the loop
}
}
if( ! ( isset($found) && $found ) )
return $rates; // Exit
$free = array();
foreach ( $rates as $rate_id => $rate ) {
if ( 'free_shipping' === $rate->method_id ) {
$free[ $rate_id ] = $rate;
break;
}
}
return ! empty( $free ) ? $free : $rates;
}
我试图强制 Free Shipping 覆盖免费送货的最低金额,同时仍然根据 meta key 的 meta value 隐藏所有送货选项'auto_delivery_default'
。
编辑:
最后我发现它是自定义购物车项目数据:
目标键delivery_options
是3 months
.