最近把 WooCommerce 更到新版后,在设定运送方式的地方,会发现到先前的像单一运费、免运费、货到付款.... 似乎都不见了,而并不是不见了,WooCommerce2.6 版则是将运送方式变成一个模组统来控管,之前的那些选项则全部集合在里面,当需要时再逐一的新增,虽然说 WooCommerce 内建就有免运费的机制,同时在消费金额达到门槛时,则是出现免运费选项,而不是直接跳到免运费,这样的结帐方式,实在有点怪异,不符目前大家的购物习惯,因此一块来看看,要如何来修正这个免运费的设定吧!
WooCommerce 免运费修正:
修正:免运费
适用版本:2.6+
适用版本:2.6+
Step1
首先,切到 WooCommerce 设定 / 运送方式,接着点右下的新增按钮。
Step6
新增完毕后,再设定免运费的门槛外,同时在下拉选单中,设定免费的条件。
Step8
这时当购物金额超过刚所设定的的 1000 元,在运送方式的地方,却出现免费运的选项,这实在有点怪异。
Step9
接着开启主题中的 functions.php,再加入以下的修正码。
add_filter( 'woocommerce_package_rates', 'hide_shipping_when_free_is_available', 100 ); function 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; }