WooCommerce 重量別配送 – コードスニペット + プラグイン
公開: 2022-09-15WooCommerce は、配送ゾーンとクラスの設定に関して非常に柔軟です。 また、配送料の種類として、定額、送料無料、ローカル ピックアップを設定することもできます。
一定の配送料を請求するストアもあれば、顧客の所在地に基づいて配送料を変更するストアもあります。 ただし、サイズと重量が大幅に異なる商品については、送料を一律料金にすることはできません。
ソリューションを選択するか、配送ゾーンにコードを追加して、WooCommerce の重量による配送やその他の高度な配送ルールを設定することをお勧めします。
デフォルトの WooCommerce には、重量ベースの配送を設定する規定がないためです。
この記事では、重量ベースの配送を設定するために使用できるコードと、高度なルール用の WooCommerce 配送プラグインを紹介します。
WooCommerce の重量による配送とは何ですか?
重量制配送では、商品の重量に応じて料金を設定できます。 重い商品を購入するお客様は、小さい商品を購入するお客様よりも送料が高くなります。
また、大量の商品を購入するお客様も、わずかな送料がかかります。 商品の数量ごとに、または注文内の異なる商品に対して送料を請求することもお勧めできません。
重量ベースの配送では、大口注文にも小口注文にも同様に公正な価格を請求できます。 さらに、顧客に配送料を過少請求または過大請求することを避けることができます。
プラグインなしで WooCommerce の重量による配送を設定するには?
コードにジャンプする前に、これらの要件が満たされていることを確認してください。
- 製品には重量が必要です。 すべての単純な製品および/または単一のバリエーションの
weight > 0
より大きい必要があります。 WooCommerce > 設定 > 製品の下で、正しい「重量単位」を選択してください (デフォルトは kg です)。 - 複数の配送ゾーンがある場合は、最初の配送ゾーンが適用されます。 オーストラリア向けとオセアニア向けの 2 つの配送ゾーンがあるとします。 1位のオセアニアの配送ゾーンがそのまま適用されます。 オーストラリアの配送ゾーンを申請するには、ハンバーガー アイコンを押したまま、オセアニアの上にドラッグする必要があります。
重量設定による配送
この例では、重量に基づいた 3 つの配送区分があります。
- 3 kg 未満の注文は 10 ドル
- 5kg未満(ただし3kg以上)のご注文は15ドル
- 5kg以上のご注文は20ドル
配送ゾーンごとに無制限の階層と無制限の定額料金を設定できます。 それはすべてあなた次第です。
また、各定額料金の名前を「3 kg 未満の注文」、「5 kg を超える注文」などに変更して、チェックアウト ラベルをよりユーザーフレンドリーにすることもできます。
次のように、3 つすべての配送方法を設定します。
- 定額料金 #1 > 名前を「3 kg 未満の注文」に変更し、費用 = $10 を割り当てます
- 定額料金 #2 > 名前を「5 kg 未満の注文」に変更し、費用 = $15 を割り当てます
- 定額料金 #3 > 名前を「5 kg を超える注文」に変更し、費用 = $20 を割り当てます

ヘルプが必要な場合は、配送料とゾーンの設定に関するこのブログを参照してください。
重量コードによる配送
カートの重量に基づいて、別の料金ではなく定額料金を使用する必要があります。 これが、正しい定額料金をエンド ユーザーに表示できる唯一の方法です。
先に進む前に、3 つの定額料金の一意の ID をメモしておいてください。 それらは ' flat_rate:9 ' のようになります。
この例では、次のレート ID があります。
- フラットレート #1 > flat_rate:6
- フラットレート #2 > flat_rate:7
- フラットレート #3 > flat_rate:8
総重量に基づいてレートを設定解除する必要があるため、合計で 3 つの条件が必要になります。重量が 3 kg 未満の場合、5 kg 未満の場合、5 kg を超える場合です。 コード スニペットは次のとおりです。
add_filter( 'woocommerce_package_rates', 'storeapps_woocommerce_tiered_shipping', 9999, 2 ); function storeapps_woocommerce_tiered_shipping( $rates, $package ) { if (WC()->カート->get_cart_contents_weight() < 3) { if ( isset( $rates['flat_rate:7'] ) && isset( $rates['flat_rate:8'] ) ) unset( $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'] ) ) unset( $rates['flat_rate:6'], $rates['flat_rate:8'] ) ; } そうしないと { if ( isset( $rates['flat_rate:6'] ) && isset( $rates['flat_rate:7'] ) ) unset( $rates['flat_rate:6'], $rates['flat_rate:7'] ) ; } $rates を返します。 }
コード スニペットを安全に追加する方法については、このドキュメントを参照してください。

WooCommerce ローカル ピックアップによる重量別配送
たとえば、定額配送方法の代わりに、ローカル ピックアップを追加することができます。 次に、上記のコードを次のように置き換えることができます。
add_filter( 'woocommerce_package_rates', 'storeapps_woocommerce_tiered_shipping', 9999, 2 ); function storeapps_woocommerce_tiered_shipping( $rates, $package ) { if (WC()->カート->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() ) ) { unset( $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() ) ) { unset( $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() ) ) { unset( $rates['flat_rate:6'], $rates['flat_rate:7'] ); } $rates を返します。 }
WooCommerce の重量ベースの配送プラグイン
コードに行き詰まりたくない場合は、強力な WooCommerce 重量別配送プラグインがいくつかあります。
これらのプラグインを使用すると、商品の重量に基づいて顧客向けにさまざまな配送料と条件を作成できます。 それらのいくつかを確認しましょう:
WooCommerce 重量ベースの配送
これは、WordPress リポジトリの送料無料のプラグインです。 さまざまな条件に基づいて複数のルールを追加できます。
さまざまな注文先、重量、小計の範囲に対して必要な数の配送ルールを作成し、送料無料のしきい値を設定できます。
特定の配送クラスごとに個別に送料を設定することもできます。
このプラグインのプロ版は$19です。
WooCommerce の重量ベースの配送を利用する
テーブルレートの配送
このプラグインは、高度にカスタマイズ可能な配送オプションを提供します。
重量、価格、場所、またはアイテム数に基づいて、複数の配送料を定義できます。
重量に基づいてルールを追加し、重量単位あたりのコストを追加することもできます。 プラグインの直感的なインターフェースにより、ユーザーは配送戦略を簡単に管理できます。
このプラグインは、WooCommerce マーケットプレイスから99 ドルで購入できます。
テーブルレートの配送を取得
条件付きの配送と支払い
WooCommerce の別の配送拡張機能で、顧客が利用できる配送オプション、支払いオプション、配送先を制限できます。
パッケージの重量、アイテム数、またはカートの合計に基づいて、配送方法と実際の料金を制限できます。
プラグインを使用して、サブスクリプションの更新で送料無料を提供することもできます.
このプラグインは非常に人気があり、 $79で購入できます。
条件付きの配送と支払いを受ける
定額ボックス配送
このプラグインを使用すると、さまざまな宛先へのボックスのコストを定義できます。 商品のサイズと容積に基づいて商品を箱に詰めることができ、その箱は配送先ごとに定義した固定費を使用します。
配送ゾーンごとに複数のボックス サイズを追加したり、ボックスごとおよび重量単位ごとにコストを追加したり、ボックスに収まらないアイテムのコストを定義したりすることもできます。
このプラグインは、WooCommerce マーケットプレイスから$49で購入できます。
定額のボックス配送を利用する
配送フィールドに基づいて注文と商品を 1 か所から管理
Smart Manager プラグインを使用すると、Excel に似たシート エディターを使用して、1 か所から何百、何千もの注文を管理できます。
配送方法、配送州、配送国、注文配送税、その他の詳細など、配送の詳細とともにすべての注文を表示および管理できます。

何千もの注文の中から「定額」などの配送方法に基づいていくつかの注文を見つけたい場合は、高度な検索オプションを使用します。 Smart Manager は正確な結果をすばやく取得します。
新しい注文やカスタム オーダーをシート エディターに直接追加して、注文ステータスを設定し、配送方法を設定することもできます。
もう 1 つの利点は、配送方法やその他の詳細に基づいて注文をエクスポートできることです。
注文とは別に、Smart Manager では、製品を重量でフィルタリングしたり、製品に重量を一括で追加したり、価格を設定および一括編集したりすることもできます。

また、重量が X kg を超えるすべての商品をリストするフィルターを適用してから、通常価格/セール価格の商品フィールドを更新すると、すべての変更が即座に適用されます。
さらに、Smart Manager を使用すると、次のことができます。
- クーポン、購読、予約、ユーザー、製品アドオン、ドロップシッピング、ブログ投稿、ページなど、あらゆる種類の投稿を管理および一括編集します。
- レコードを完全に削除するか、ゴミ箱に移動します – 製品のテスト、注文のテスト、クーポンのテスト…
- 特定の投稿タイプの選択したレコードまたはすべてのレコードを複製する
- すべてのレコードを CSV にエクスポートするか、任意の投稿タイプのフィルターに基づいてエクスポートします
- カスタム ビュー (列セット) を設定し、アクセス制限されたダッシュボードを提供します…
ライブデモを試す
結論
WooCommerce の重量ベースの配送の設定は、コーディングを微調整するだけで簡単です。
より簡単な方法は、上記のリストからプラグインを取得して、時間と手間を節約することです. それらはすべて人気があり、あなたのお金の価値があります。
この投稿がお役に立てば幸いです。 ご質問やご提案がありましたら、下にドロップしてください。