【发布时间】:2018-08-23 08:27:34
【问题描述】:
我正在尝试为 WooCommerce 编写一个函数,如果购物车中存在具有特定运输类别的产品,它将禁用免费送货。
这是我所拥有的,但不起作用。 e-packet 是运输类,如果它存在于购物车中,则应禁用免费送货。
function hide_shipping_when_class_is_in_cart( $rates, $package ) {
$shipping_classes = array('e-packet');
$if_exists = false;
foreach( $package['contents'] as $key => $values ) {
if( in_array( $values[ 'data' ]->get_shipping_class(), $shipping_classes ) )
$if_exists = true;
}
if( $if_exists ) unset( $rates['free_shipping:9'] );
return $rates;
}
add_filter( 'woocommerce_package_rates', 'hide_shipping_when_class_is_in_cart', 10, 2 );
【问题讨论】:
标签: php wordpress woocommerce cart shipping