【數位3C】保留超商取貨可行嗎?購物網站WooCommerce免運費門檻仍顯示其他付費選項的解決辦法

【數位3C】保留超商取貨可行嗎?購物網站WooCommerce免運費門檻仍顯示其他付費選項的解決辦法 3C/資訊/通訊/網路 WooCommerce Wordpress 架站 靈異現象&疑難雜症

由於網路上流傳的隱藏付費選項程式碼一旦啟用就會無法使用超商取貨

若是需要保留這個部分, 就緒要額外做修改

 

需要修改的檔案是Wordpress/wp-includes下的functions.php

【數位3C】保留超商取貨可行嗎?購物網站WooCommerce免運費門檻仍顯示其他付費選項的解決辦法 3C/資訊/通訊/網路 WooCommerce Wordpress 架站 靈異現象&疑難雜症

 

在最下面加上這段程式碼就可以

【數位3C】保留超商取貨可行嗎?購物網站WooCommerce免運費門檻仍顯示其他付費選項的解決辦法 3C/資訊/通訊/網路 WooCommerce Wordpress 架站 靈異現象&疑難雜症

 

不過要注意的是, 以這個範例來說, 是使用了RY Woocommerce Tools這個外掛

所以針對7-11超商取貨的代碼是’ry_ecpay_shipping_cvs_711′, 若你用的是其他外掛就要找那個外掛的名稱是什麼

若你還想加上別的超商就是類似的做法

/*
WooCommerce免運門檻隱藏選項並保留超商取貨
*/
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;
}
}

// 免運費時仍顯示綠界超商取貨, 但此處看個人使用外掛狀況調整名稱, 以這個範例來說, 是使用了RY Woocommerce Tools這個外掛, 所以針對7-11超商取貨的代碼是’ry_ecpay_shipping_cvs_711′, 若你用的是其他外掛就要找那個外掛的名稱是什麼
if (!empty($free)) {
foreach ( $rates as $rate_id => $rate ) {
if ( ‘ry_ecpay_shipping_cvs_711’ === $rate->method_id ) {
$free[ $rate_id ] = $rate;
break;
}
}
}

return ! empty( $free ) ? $free : $rates;
}

add_filter( ‘woocommerce_package_rates’, ‘hide_shipping_when_free_is_available’, 100 );

 

改完後的效果…

還沒達到門檻前, 會跳出自費運送以及超商取貨選項

【數位3C】保留超商取貨可行嗎?購物網站WooCommerce免運費門檻仍顯示其他付費選項的解決辦法 3C/資訊/通訊/網路 WooCommerce Wordpress 架站 靈異現象&疑難雜症

 

 

改完後除了達到免運門檻後跳出免運選項

原本希望保留的超商取貨也被保留下來, 而且一樣有免運門檻可以設定!

好囉~收工XD

【數位3C】保留超商取貨可行嗎?購物網站WooCommerce免運費門檻仍顯示其他付費選項的解決辦法 3C/資訊/通訊/網路 WooCommerce Wordpress 架站 靈異現象&疑難雜症

*如有文意不通順的情況, 必定是業配廠商SEO導致,與本文作者無關*

請多指教, 有什麼想法都可以說