Search Over 30,000 FREE Plugins from the Official WordPress Plugin Directory Repository

Weight/Country Shipping for WooCommerce

Adds per-country and weight based shipping cost calculation method to your WooCommerce store.

If your WooCommerce store needs to calculate shipping charges based on cart weight and country of delivery and you're still using WooCommerce 2.5 or earlier then this plugin is for you.

You can group countries that share same delivery costs (e.g. USA and Canada, European Union countries, etc.) or set the shipping costs on a per-country basis.

If you're using WooCommerce 2.6 you should use Weight zone shipping for WooCommerce 2.6 as this is integrated with Shipping Zones.


New in version 1.3.2

  • Russian language version

New in version 1.3.1

  • Support for maximum cart weight
  • French language version

New in version 1.2

  • Ability to set zero cost shipping for certain weight ranges
  • No longer chooses the lowest rate from a higher weight range

New in version 1.1

  • Enabled for localization in your language.
  • Tested with WooCommerce 2.3.8

New in version 1.0.9

  • Set the Shipping Method Title per Rate

New in version 1.0.5

  • Supports carts with zero weight
  • Supports default rates when Country is not listed in a country group

In version 1.0.4

  • Set multiple shipping rates based on cart weight and delivery country
  • Group countries sharing same rates and set rates once for all of them
  • Unlimited groups of countries
  • Unlimited rates
  • Works with WooCommmerce 2.0 and 2.1
  • Works on WPMS

Known Limitations

  • Requires Countries to have been added to the Specific Countries list, if your Selling Location(s) option is to 'Sell to specific countries only'
  • Calculates charges based on the total cart weight; it doesn't pay any attention to shipping classes or product categories
  • Doesn't support different charges to state or region
  • Doesn't take into account dimensions
  • Only returns one shipping rate per weight/country group combination.
  • For multiple shipping rates upgrade to Multi rate weight/country shipping for WooCommerce plugin


After installation activate this shipping method.

Go to WooCommerce->Settings->Shipping select Weight/Country Shipping and tick enable box.

Rates are set based on "Country Groups". Country Groups are groups of countries (or a single country) that share same delivery rates.

Author bobbingwide
Contributors bobbingwide, vsgloik, Andy_P, pozhonks
Tags commerce, country, ecommerce, shipping, shop, weight, woocommerce
  1. oik-weightcountry-shipping screenshot 1

    Weight and Country shipping settings part one

  2. oik-weightcountry-shipping screenshot 2

    Weight and Country shipping settings part two

  3. oik-weightcountry-shipping screenshot 3

    WooCommerce Checkout shipping rate

  4. oik-weightcountry-shipping screenshot 4

    Enable Shipping Debug Mode when modifying rates

  1. Upload 'oik-weightcountry-shipping' to the '/wp-content/plugins/' directory
  2. Activate the plugin through the 'Plugins' menu in WordPress
  3. Set your delivery rates in WooCommerce->Settings->Shipping using the Weight/Country tab


  • Tested: With WordPress 4.7 and WooCommerce 2.5 or 2.6
  • Added: Russian language version. Unverified.
  • Changed: Updated readme to point you to Weight zone shipping for WooCommerce 2.6


  • Fixed: Issue #6 - Correct dummy bw_trace2() function
  • Tested: With WordPress 4.4 and WooCommerce 2.4.11


  • Added: Support for maximum cart weight
  • Added: French language version. Props to Rémy Perona and WooCommerce
  • Changed: Now using semantic version numbering


  • Fixed: Notice: Undefined offset from line 331


  • Fixed: Responds to 'woocommerce_init' rather than 'init'
  • Changed: Changed the pick_smallest_rate method to pick the rate for the given weight band.


  • Added: Responds to 'init' to load language versions and initialise the logic
  • Added: Sample language files for the bbboing language ( locale bb_BB )


  • Changed: Supports optional setting of the Method Title on each line in the shipping rate table


  • Changed: Supports separator characters of |=vertical bar, /=forward slash and/or ,=comma in the shipping rates table
  • Tested: With WordPress 4.1 and WooCommerce 2.2.10


  • Changed: Support blanks in the shipping rates table
  • Changed: Set text domain to "oik-weightcountry-shipping" instead of "woocommerce". No language versions yet.
  • Changed: Added some docblocks for API documentation
  • Tested: With WordPress 4.0 and WooCommmerce 2.2.4


  • Fixed: Remove dummy bw_trace2() and bw_backtrace() functions and calls.


  • Changed: Calculates shipping charges for zero weight carts
  • Changed: Calculates charges for "any other country" using country group 0
  • Fixed: Should no longer produce Warning messages


  • Fixed: Removed calls to trace functions: bw_trace2() and bw_backtrace().


  • New: New version for delivery from
  • Changed: Removed some links.
  • Changed: Fixed some PHP Notify messages.



  • Fixed a bug causing tax on shipping not being calculated
  • Fixed a bug causing delivery being displayed as free when a country was in allowed countries list, but no rate was specified for this country.
  • Fixed a bug causing delivery method being displayed to the user when no rate was specified for selected country of delivery
  • Fixed some typos
  • Changed some option labels to make them more clear


  • First release

Which version of WooCommerce does this work on?

The latest version has been tested with both WooCommerce 2.5.5 and WooCommerce 2.6.8

What is the separator for the shipping rate table?

You can use vertical bars, forward slashes or commas. Blanks around values will be ignored.

1 | 92.99 | 0
1 | 92.98 | 2
100 | 93.97 | 2
0| 1.23 | 3
1 / 1.24 / 3
2 , 3.45 , 3

How do I set the Method Title?

If you want to use a different title per rate then add this for each rate where the Method Title should be different from the default.

0|9.99|0 | Unknown destination - zero weight
1 | 92.99 | 0 | Country group 0
1 | 92.98 | 2
100 | 93.97 | 2
0| 1.23 | 3
1 / 1.24 / 3
2 , 3.45 , 3 / CG3

Does this support multiple rates per weight/country combination?

If you have a requirement to offer multiple shipping rates then we recommend using WooCommerce 2.6 with

If you're still using WooCommerce 2.5 you'll need:

The Multi rate version supports multiple rates per weight/country combination e.g.

100 | 1.23 | 1 | UK standard
100 | 2.34 | 1 | UK premium

Are there any other FAQs?

Yes. See oik weight/country shipping FAQS and Multi rate weight/country shipping for WooCommerce FAQ's

Version 1.3.3

Requires WordPress version: 3.9 or higher

Compatible up to: 4.7-beta4

Last Updated 17 Nov 2016

Date Added: 29 Mar 2014

Plugin Homepage


4.7 stars
18 ratings


Not Enough Data

Works: 0
Broken: 0