免運時隱藏其他物流方式
當免運費可用時,你可能想要隱藏其他付費物流選項,簡化客戶的結帳體驗。以下提供兩種實現方式。
PHP 程式碼片段
將以下程式碼加入主題的 functions.php 或使用程式碼片段外掛:
<?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;
}
此程式碼會檢查可用的物流方式,如果包含免運費選項,則只顯示免運費,隱藏所有其他選項。
使用外掛
如果你不想編輯程式碼,可以使用第三方外掛來實現此功能。在 WordPress 外掛目錄搜尋「hide shipping when free」可找到相關外掛。
注意事項
- 修改程式碼前請先備份網站
- 建議在測試環境中先測試
- 如果使用子主題,將程式碼加入子主題的
functions.php