WooCommerce 按重量運送 – 代碼片段 + 插件
已發表: 2022-09-15WooCommerce 在設置運輸區域和類別方面非常靈活。 它還允許您設置統一費率、免費送貨和本地取貨作為運費類型。
有些商店收取固定運費,有些商店根據客戶所在的位置收取不同的運費。 但是,對於尺寸和重量差異很大的產品,您不能收取單一的固定運費。
您可能想要選擇解決方案或向運輸區域添加一些代碼,以設置 WooCommerce 按重量運輸和其他高級運輸規則。
因為默認 WooCommerce 沒有任何規定來設置基於重量的運輸。
在本文中,我們將展示可用於設置基於重量的運輸的代碼,以及一些用於高級規則的 WooCommerce 運輸插件。
WooCommerce 按重量運輸是什麼?
基於重量的運輸使您能夠根據產品的重量設置費率。 購買重物的客戶將比購買較小產品的客戶支付更多的運費。
此外,購買大宗商品的客戶還將收取像徵性的運費。 也不建議按產品數量或訂單中的不同產品收取運費。
使用基於重量的運輸,您可以對大訂單和小訂單收取公平的價格。 此外,您可以避免向客戶收取過少或多收的運費。
如何在沒有插件的情況下按重量設置 WooCommerce 運輸?
在跳轉到代碼之前,請確保滿足這些要求。
- 你的產品應該有重量。 您所有的簡單產品和/或單一變體的
weight > 0
。 在 WooCommerce > 設置 > 產品下,確保選擇正確的“重量單位”(默認為公斤)。 - 如果您有多個可配送區域,則應用第一個配送區域。 假設您有兩個航運區,一個用於澳大利亞,一個用於大洋洲。 大洋洲的航運區將在第一個位置應用。 申請澳大利亞的航運區,你需要按住漢堡圖標並將其拖到大洋洲上方。
按重量設置發貨
在我們的示例中,我們將擁有三個基於重量的運輸等級:
- 3公斤以下的訂單10美元
- 5 公斤以下(但超過 3 公斤)的訂單 15 美元
- 5公斤以上的訂單20美元
您可以為每個配送區域設置無限的層級和無限的統一費率。 這一切都取決於你。
此外,您可以將每個統一費率重命名為“3 公斤以下的訂單”、“5 公斤以上的訂單”等,以使結帳標籤更加用戶友好。
為所有三種設置運輸方式,如下所示:
- 統一費率 #1 > 重命名為“3 公斤以下的訂單”並指定成本 = 10 美元
- 統一費率 #2 > 重命名為“5 公斤以下的訂單”並指定成本 = 15 美元
- 統一費率 #3 > 重命名為“5 公斤以上的訂單”並指定成本 = 20 美元
如果您需要幫助,請參閱此博客關於設置運費和區域。
按重量代碼發貨
現在根據購物車重量,應該使用統一費率而不是其他費率。 這是您可以向最終用戶顯示正確的統一費率的唯一方法。
在繼續之前,請記下三個統一費率的唯一 ID 。 它們應該看起來像“ flat_rate:9 ”。
在我們的示例中,以下是以下費率 ID:
- 統一費率 #1 > flat_rate:6
- 統一費率 #2 > flat_rate:7
- 統一費率 #3 > flat_rate:8
我們需要根據總重量取消設置費率,所以總的來說,我們需要三個條件:當重量低於 3 公斤、低於 5 公斤和高於 5 公斤時。 這是代碼片段:
add_filter('woocommerce_package_rates', 'storeapps_woocommerce_tiered_shipping', 9999, 2); 功能 storeapps_woocommerce_tiered_shipping( $rates, $package ) { if ( WC()->cart->get_cart_contents_weight() < 3 ) { if ( isset( $rates['flat_rate:7'] ) && isset( $rates['flat_rate:8'] ) ) 未設置( $rates['flat_rate:7'], $rates['flat_rate:8'] ) ; } elseif ( WC()->cart->get_cart_contents_weight() < 5 ) { if ( isset( $rates['flat_rate:6'] ) && isset( $rates['flat_rate:8'] ) ) 未設置( $rates['flat_rate:6'], $rates['flat_rate:8'] ) ; } 別的 { if ( isset( $rates['flat_rate:6'] ) && isset( $rates['flat_rate:7'] ) ) 未設置( $rates['flat_rate:6'], $rates['flat_rate:7'] ) ; } 返回 $rates; }
請參閱此文檔以了解如何安全地添加代碼片段。
WooCommerce 按重量運輸,當地取貨
例如,您可能希望添加本地取貨,而不是統一費率的運輸方式。 然後,您可以將上面的代碼替換為:
add_filter('woocommerce_package_rates', 'storeapps_woocommerce_tiered_shipping', 9999, 2); 功能 storeapps_woocommerce_tiered_shipping( $rates, $package ) { if ( WC()->cart->get_cart_contents_weight() < 3 ) { if ( ( isset( $rates['flat_rate:7'] ) && 'local_pickup' !== $rates['flat_rate:7']->get_method_id() ) && ( isset( $rates['flat_rate:8'] ) && 'local_pickup' !== $rates['flat_rate:8']->get_method_id() ) ) { 未設置($rates['flat_rate:7'],$rates['flat_rate:8']); } } elseif ( WC()->cart->get_cart_contents_weight() < 5 ) { if ( ( isset( $rates['flat_rate:6'] ) && 'local_pickup' !== $rates['flat_rate:6']->get_method_id() ) && ( isset( $rates['flat_rate:8'] ) && 'local_pickup' !== $rates['flat_rate:8']->get_method_id() ) ) { 未設置($rates['flat_rate:6'],$rates['flat_rate:8']); } } 別的 { if ( ( isset( $rates['flat_rate:6'] ) && 'local_pickup' !== $rates['flat_rate:6']->get_method_id() ) && ( isset( $rates['flat_rate:7'] ) && 'local_pickup' !== $rates['flat_rate:7']->get_method_id() ) ) { 未設置($rates['flat_rate:6'],$rates['flat_rate:7']); } 返回 $rates; }
WooCommerce 基於重量的運輸插件
如果您不想被代碼卡住,可以使用一些功能強大的 WooCommerce 按重量發貨的插件。
這些插件允許您根據產品重量為客戶創建不同的運費和條件。 讓我們檢查其中一些:
WooCommerce 基於重量的運輸
這是 WordPress 存儲庫上的免費送貨插件。 它允許您根據各種條件添加多個規則。
您可以根據需要為不同的訂單目的地、重量和小計範圍創建任意數量的運輸規則,並設置免費運輸閾值,
您還可以單獨設置每個特定運輸類別的運輸成本。
這個插件的專業版售價 19 美元。
獲取 WooCommerce 基於重量的運輸
表運費
該插件為您提供高度可定制的運輸選項。
您可以根據重量、價格、位置或項目數量定義多個運費。
您還可以添加基於重量的規則並添加每重量單位的成本。 該插件的直觀界面使用戶可以輕鬆管理他們的運輸策略。
您可以從 WooCommerce 市場以 99 美元的價格購買此插件。
獲取表費率運費
有條件的運輸和付款
WooCommerce 上的另一個運輸擴展,使您能夠限制客戶可用的運輸選項、付款選項和運輸目的地。
您可以根據包裹重量、物品數量或購物車總數來限制運輸方式和實時費率。
您還可以使用該插件通過訂閱續訂提供免費送貨服務。
這個插件很受歡迎,你可以花79 美元購買它。
獲得有條件的運輸和付款
統一費率盒裝運輸
這個插件允許你定義箱子到不同目的地的成本。 您可以根據物品的大小和體積將物品裝入箱子,然後該箱子使用您為每個目的地定義的固定成本。
您可以為每個運輸區域添加多個箱子尺寸,添加每個箱子和每個重量單位的成本,還可以為無法裝入箱子的物品定義成本。
該插件可從 WooCommerce 市場以49 美元的價格購買。
獲得統一費率盒子運輸
根據運輸字段從一個地方管理訂單和產品
Smart Manager 插件允許您使用類似 Excel 的表格編輯器從一個地方管理成百上千的訂單。
您可以查看和管理所有訂單及其運輸詳細信息,例如運輸方式、運輸狀態、運輸國家、訂單運輸稅和其他詳細信息。
如果您想在數千個訂單中根據“統一費率”等運輸方式查找一些訂單,請使用“高級搜索”選項。 Smart Manager 將快速為您獲取準確的結果。
您還可以將新訂單和自定義訂單直接添加到工作表編輯器,為其設置訂單狀態並設置運輸方式。
另一個額外的好處是根據運輸方式和其他詳細信息導出訂單。
現在,除了訂單,Smart Manager 還允許您按重量過濾產品,為批量產品添加重量,還可以為它們設置和批量編輯價格。
您還可以應用過濾器列出所有重量超過 X 公斤的產品,然後更新正常價格/銷售價格產品字段,所有更改將立即應用。
此外,使用 Smart Manager,您可以:
- 管理和批量編輯任何帖子類型——優惠券、訂閱、預訂、用戶、產品插件、直銷、博客文章、頁面等。
- 永久刪除記錄或將其移至垃圾箱——測試產品、測試訂單、測試優惠券……
- 複製特定帖子類型的選定記錄或所有記錄
- 將所有記錄或基於任何帖子類型的過濾器導出到 CSV
- 設置自定義視圖(列集),提供訪問限制儀表板……
試試現場演示
結論
通過一些編碼調整,設置基於重量的 WooCommerce 運輸很簡單。
更簡單的方法是從上面的列表中獲取一個插件,以節省時間和麻煩。 他們都很受歡迎,值得你花錢。
我希望你覺得這篇文章有用。 有任何問題或建議,請在下方留言。