綠界超商取貨-依購物車分類免運-客製修改5
在之前Multiple Packages for WooCommerce購物車分類外掛-免運和標題-客製修改之1這篇文章,有說明如何透過運送類別來將購物車分類打包,也能依不同運送類別來設定滿額免運。當時的規劃是只要達免運標準,都統一用宅配,但今天客戶表示希望也能選用綠界超商取貨。
修改Multiple Packages for WooCommerce
使用外掛編輯器選取Multiple Packages for WooCommerce,修正multiple-packages-shipping.php檔案,在152行的免運free_shipping後面再增加綠界物流ecpay_shipping,如下圖:
綠界超商取貨外掛-滿額免運修改
外掛編輯器選取ECPay Logistics for WooCommerce,修正ECPay-shipping-integration.php檔案,在511行處插入以下代碼:
$shipping_slug = explode('-',get_term($package['contents'][0]['data']->get_shipping_class_id())->slug);
$freeShippingAmount = $shipping_slug[1];
後記
綠界超商取貨的外掛,只支援一個免運設定值,而且因為這外掛很多程式,架構較為龐大,一開始感覺要改寫它支援運送類別和多個免運設定,會很麻煩。
所以反倒花上不少時間在研究woocommerce_package_rates和woocommerce_shipping_packages等函式的用法及範例,想直接在Multiple Packages for WooCommerce的外掛裡修正運送方式,看能否只更動一個檔案就好,可惜一直無法搞定。
後來研究一下流程,發現運送方式是購物車分類之後再個別加載,就想說ECPay Logistics for WooCommerce可能只要修正免運值那邊的程式就好,意外單純。