修正woocommerce滿額免運費時還有顯示運費選項-加入顯示超商取貨免運費等其他運費項目

以下範例是使用RY WooCommerce Tools綠界付款,如採用其他運用方式請更改ry_ecpay_shipping_cvs_711這個位置的代碼,只要對應好運送方式代碼,任何運送方式都會顯示出來,
需要打開主題編輯器,打開後選右邊佈景函式庫(functions.php),在最底部加上。
如果佈景正在使用中可能會造成(functions.php)無法存檔,請改用FTP或其他方式上傳(functions.php)到佈景內。


/**
滿額免運修正
*/
function my_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;
}
}

/* 以下為需要新增修正的部份 */
// 免運費時 仍顯示超商取貨
if (!empty($free)) {
foreach ( $rates as $rate_id => $rate ) {
if ( 'ry_ecpay_shipping_cvs_711' === $rate->method_id )
{
$free[ $rate_id ] = $rate;
break;
}
}
}
if (!empty($free)) {
foreach ( $rates as $rate_id => $rate ) {
if ( 'ry_ecpay_shipping_cvs_family' === $rate->method_id )
{
$free[ $rate_id ] = $rate;
break;
}
}
}
if (!empty($free)) {
foreach ( $rates as $rate_id => $rate ) {
if ( 'ry_ecpay_shipping_cvs_hilife' === $rate->method_id )
{
$free[ $rate_id ] = $rate;
break;
}
}
}
/* 以上為需要新增修正的部份 */
return ! empty( $free ) ? $free : $rates;
}
add_filter( 'woocommerce_package_rates', 'my_hide_shipping_when_free_is_available', 100 );

2 thoughts on “修正woocommerce滿額免運費時還有顯示運費選項-加入顯示超商取貨免運費等其他運費項目

    • 小遠 says:

      你是使用RY WooCommerce Tools綠界付款嗎?如果不是的話需要修改程式碼內的對應運送方式的值

發表迴響