修正woocommerce免運費,當“免費送貨”可用時,隱藏除自取跟免費運送之外的其他送貨方式

需要打開主題編輯器,打開後選右邊佈景函式庫(functions.php),在最底部加上。
如果佈景正在使用中可能會造成(functions.php)無法存檔,請改用FTP或其他方式上傳(functions.php)到佈景內。

function my_hide_shipping_when_free_is_available( $rates ) {
	$free = array();
	$local_pickup = array();
	foreach ( $rates as $rate_id => $rate ) {
		if ( 'free_shipping' === $rate->method_id ) {
			$free[ $rate_id ] = $rate;
		}
		elseif ( 'local_pickup' === $rate->method_id ) {
			$local_pickup[ $rate_id ] = $rate;
		}
	}
  	if( !empty( $free ) ) {
		return array_merge( $free, $local_pickup );
  	}
	return $rates;
}
add_filter( 'woocommerce_package_rates', 'my_hide_shipping_when_free_is_available', 100 );

發佈留言