WooCommerceで県や地域、国ごとの配送料金を設定する「Table Rate Shipping for WooCommerce」

デフォルトのWooCommerceでは「無料配送」「宅配便」という選択肢は存在しますが、
別々の配送方法とみなされ顧客がチェックボックス/ラジオボタンで選択しなければならず不自然な状態になります。
この二つを組み合わせ、条件を満たした場合に自動的に送料無料にしたい場合はエクステンションを利用しなければなりません

 

またデフォルトでは発送先の住所や都道府県によって送料を変えるという事ができません。なので以下の2点を満たしたエクステンションをWooCommeceに追加します。
・日本郵便の料金設定に従い、都道府県を7つの地帯に分け地帯毎に配送料金を設定する
(日本郵便は離島料金が無いので例外設定はしない)

・○○円以上カートに入っている場合に自動で送料無料に設定する
(第△地帯のみ××円以上で送料無料 という設定はしない)

クロネコヤマトや佐川急便の料金設定がどうなっているのかはわかりませんが、日本郵便とそれほど違いと思いますので自分/自社で使用している宅配サービスに合わせて設定して下さい。
この記事では日本郵便に合わせて設定しています
佐川などでの離島への配送は料金が変わるはずなので、郵便番号で例外設定をしなければならないはずです。
この記事では説明しませんがそれほど難しくないと思いますので頑張ってください。

以下の機能は紹介するプラグインにはついていません。拡張するか他のプラグインと組み合わせましょう。
・配送日時の指定
・配送先ごとにリードタイムの設定(沖縄の配送には+1日 など)
ついでにボタンを押すだけで日本の宅配サービス各社の伝票印刷サービスに応じた形のcsvを落とせたりしたら良いのですが、流石にそんな都合の良いエクステンションはまだ無いようです。

純正にすべきか、サードパーティにすべきか

今回候補に挙げたのは純正とサードパーティ製の2つのエクステンション。
精査はしていませんが、おそらく機能的には同じようなものでしょう。

ストア 価格 サポート メリット デメリット
純正 公式 199ドル/1サイト 1年(英語) 公式なので安心 アップデートも1年のみ有効なライセンスなので、常に最新の状態に保とうとしたら毎年199ドル必要
サードパーティ Envato 25ドル/1サイト 6ヶ月(英語 / 6.6ドルで6ヶ月追加サポート) 安い
サポートが切れてもアップデートは無料で可能なので買いっぱなしで維持費はかからない
・サードパーティ製なのでセキュリティの面で100%信用はできない
・そもそもEnvatoマーケットから削除されたらその後のアップデートの可能性は無くなる

純正はこちら→ Table Rate Shipping
199USD/1ライセンスの1年サポート付きで、1年後以降にアップデートを適用させたい場合は1年毎にライセンスを再度購入する必要があります。なので事実上1年199ドルですね。
今回私は見送りましたが、インストールや設定方法は恐らくほとんど同じでしょう。
今回紹介するサードパーティ製の「Table Rate Shipping for WooCommerce」は世界最大級の素材・コード販売ストアenvatoのcodecanyonで販売されています。
同社が運営しているwpやウェブサイト用テンプレート販売サイトthemeforestは利用したことがある方も多いのではないでしょうか。
ダウンロードはこちらから
参考 Table Rate Shipping for WooCommerceenvato 25ドルで半年間の英語サポート付き、アプリケーションがストアから削除されないかぎり無料でアップデートできます。
2019年9月現在、codecanyonのWooCommerceエクステンション販売数でぶっちぎりNo1の17,434Salesなのである程度信用できるのではないでしょうか。
まあサードパーティ製なので適用は自己責任でお願いします。
バージョン4.2のシステム要件は以下の通りです。
WordPress 4.6+
WooCommerce 3.0+
Javscript / jQuery

ダウンロード

購入は省略。
購入が完了したらDonwloadボタンを押し、ローカルにダウンロードします。
購入時に「Install for $xxx」というボタンはおそらくenvatoが運営しているインストール代行サービスに繋がるだけなので気にしないでOKです。
codecanyon-3796656-table-rate-shipping-for-woocommerce.zipという圧縮ファイルがダウンロードされるので解凍します。
解凍するとさらに中にwoocommerce-table-rate-shipping.zipという圧縮ファイルが入っており、これがエクステンションの本体となります。
HELPというフォルダも入っており、設定の仕方などが英語で書かれたhtmlファイルが入っています。
エクステンションのインストールには必要ありませんが、英語に抵抗のない方はサラッと読んでおくと良いかもしれません。
もし生のコードを呼んだりディレクトリ構成を知りたい場合はwoocommerce-table-rate-shipping.zipを解凍して覗いてみましょう。

インストール

ではエクステンションのインストールをしていきましょう。
envatoで購入したWooCommerceのエクステンションはwordpressのプラグインという形で追加します。
他のプラグインと同じようにwpのadmin画面からこのwoocommerce-table-rate-shipping.zipをアップロードするという形でインストールしましょう。
wordpress管理画面のプラグイン>新規追加からプラグインを追加します。
タイトル「プラグインを追加」の右にあるプラグインのアップロードからアップロード画面に移ります。

ここからアップロード

 

アップロードが完了しただけではプラグインは適用されないので、有効化すればインストール完了です。
インストールが完了した時点で
WooCommerce > 設定 > 配送方法 > Table Rate 【以下、基本設定画面と呼びます】
WooCommerce > 設定 >Shipping Zones【以下、ゾーン設定と呼びます】
の2画面が追加されています。
正常にインストールされていたらプラグインの管理画面に「初期設定してね!」という旨の警告が表示されるようになります。

ではSetup Zonesをクリックすると【ゾーン設定】画面に移りますので、初期設定を完了させていきましょう。

日本語化

このプラグインには一応日本語の翻訳ファイルが用意されています。
ただ明らかに機械翻訳であり、日本語化すると意味不明になったので私は英語に戻しました。
この記事では英語で設定していきます。
記事を書いてる途中で英語の説明が面倒になってきたので翻訳ファイルを作成しました。
githubで公開しています。
翻訳がおかしい点があるかもしれませんので、修正点がありましたらコメントを頂けたら幸いです。
be-table-ship-ja.moを選択、次のページでRawボタンを押すとダウンロードできます。

 

ftpでwp-content > plugins > woocommerce-table-rate-shipping > languageにアップロードして下さい。
wordpressの設定が日本語になっていたらこれだけで日本語化されるはずです。
一部翻訳ファイルが当たらない文章があったので英語のままの部分が存在しますが、運用でカバーしましょう。
「Add New」ですら訳される画面と訳されない画面があるくらい結構ガバガバです。
以下の2ファイルが元々の翻訳ファイルとして存在してしますが、念のため削除しておきましょう。
be-table-ship-ja_JP.mo
be-table-ship-ja_JP.po

設定

設定手順

基本的には以下の流れで設定します。
1.ゾーンを設定
2.配送の一般設定
3.ゾーンごとに送料を設定
では実際に設定していきましょう。

ゾーンを設定

ゾーンを追加します。
エクステンションをインストールすると
WooCommerce > 設定 のタブにShipping Zonesが追加されますので、そこから追加ボタンをクリックすると追加画面に移ります。

 

適用区分を切り替えると入力する項目が切り替わります。
基本は国/州/都道府県(地域)で設定して良いでしょう。
以下の全てのケースが「国/州/都道府県」で対応できます。
・地域や都道府県によって送料を変える
・全国一律の送料
・国外発送
なおここでプルダウンに出力される国や州、都道府県は以下の設定の影響を受けるため、配送したい国がや都道府県が出てこない場合はこれらの一度設定を確認してみてください。
・WooCommerce > 一般 の「販売拠点」「販売を展開する国」
・WooCommerce > 配送方法 の「出荷先を制限する」
ここで設定する項目は以下の通りです。

有効化 チェックされているとこのゾーンが有効化されます
タイトル そのゾーンの名前です基本的にお客様が見ることはありません
説明 そのゾーンの説明ですこちらもお客様が見ることはありません
適用区分 ゾーンの適用の仕方です
場所 使い道不明
国と書いてありますが、都道府県もここで指定します
除外する州/都道府県 都道県単位での例外処理あまり使うことは無さそうです
除外する郵便番号 離島は郵便番号をもとにこのゾーンから外し、別料金に設定する時などに使えそうです

 

 

ご利用されているサービスの地域区分の合わせてゾーンを作成して下さい。
日本郵便で都内からの発送の場合以下のようになりました。

離島料金の設定

日本郵便の場合離島料金は必要なので設定していません。
離島料金が必要な場合、恐らくご利用されている宅配サービスの担当営業に連絡すれば離島料金のcsvが貰えるかと思いますので、
「除外する郵便番号」や「適用区分->郵便番号」などを組み合わせてうまいこと設定してください。

配送の一般設定

ゾーンの設定が完了したらWooCommerce > 配送方法 >テーブルレートから配送料金の一般設定を行っていきます。
基本的に訳の中に説明を埋め込んだのであらかた省略します。
・荷物の大きさによって送料を変える
国内のサービスを利用する分には恐らく必要の無い項目です。
ここをチェックすると個別の商品の設定ページの「大きさ (cm)」から荷物のサイズを割り出し、直下で設定するVolumetric Divisorから重さを概算し、
「大きさ (cm)/Volumetric Divisor」か「重さ (g)」のどちらか重い方の重量から送料を計算します。
Volumetric Divisorについて
海外の配送サービスでは (縦*横*高)/Volumetric Divisor で大体の重さを計算するそうです。
例えばDHLではVolumetric Divisorは5000となり、縦横高がそれぞれ10cmだと(10*10*10)/5000 = 0.2kgと計算します。
この数字は各社異なるらしいので自分が利用する配送会社のdivisorを各自調べて入力して下さい。
Hide This Method」という項目はよくわかりませんでした。
WooCommerceにデフォルトでついてくる「無料配送」の事かと思い色々テストしてみましたが何も影響しなかったので、とりあえずチェックボックスを外しておけば問題ないかと思われます。

配送料金をゾーンごとに設定

取扱料金・基本料金

固定料金、オーダー金額に応じた変動料金の2つを設定できます。
2つの料金は組み合わせ可能なので15400円のオーダー時に「固定料金300円」+「合計金額の10% 1540円」=1840円の基本取扱料金といった形でも設定できます。
このプラグインでは1つのオーダーに所属することのできるゾーンは1つだけなので、取扱料金・基本料金用に「全国」というゾーンを作成し、取扱料金・基本料金は「全国」ゾーンの適用、送料は「第2地帯」ゾーンの適用という形での運用はできません。
もし取扱料金・基本料金という形で料金を徴収する場合、ゾーンの数だけ取扱料金・基本料金を設定しなければなりません。
面倒ですが以下のようにそれぞれ設定しましょう。

ゾーンごとの送料の設定

では仕上げにゾーン毎に送料を設定しましょう。
参考:ゆうパック 基本運賃表 東京都の運賃
日本郵便で都内から60サイズで発送する場合で設定すると以下のようになります。

基本的な使い方は以上です。
代引きは「支払い方法」で設定するので、配送設定での設定は必要ありません。
商品の重さや大きさ、配送クラスなどを組み合わせれば柔軟に送料や取扱手数料をいじれますので色々試してみると良いかもしれません。