Linux 软件免费装
Banner图

Shipeach – Per Product Shipping for WooCommerce

开发者 emtiazzahid
更新时间 2026年10月26日 19:08
PHP版本: 7.4 及以上
WordPress版本: 7.1
版权: GPLv2 or later
版权网址: 版权信息

标签

shipping woocommerce shipping product shipping per product shipping shipping cost per product

下载

1.0.0

详情介绍:

Shipeach adds per product shipping to WooCommerce: set a shipping cost on each product and each variation, by country, state or postcode, and WooCommerce charges it, either as its own shipping method in your zones or on top of your other shipping methods. It is for stores where shipping depends on the item rather than the cart: furniture, art, plants, bulky or fragile goods, drop-shipped items with supplier-set shipping. It does not fetch carrier rates, print labels or pack boxes. Shipeach is an independent plugin and is not affiliated with WooCommerce or Automattic. Features How it works
  1. Open a product, go to Product data → Shipping, tick "Per-product shipping" and add one or more rules. For a variable product, add rules on the parent, and tick "Override shipping rules" on any variation that ships differently.
  2. Either add the "Per Product Shipping" method to a shipping zone (WooCommerce → Settings → Shipping), or turn on "Add per-product costs to every other shipping method" under WooCommerce → Settings → Shipping → Per Product Shipping, or both.
  3. At checkout, every item in the package is matched against its rules for the shipping address. The matching rule's line cost plus item cost × quantity is that line's shipping, and the lines are added up.
Rates are calculated on the server, so the classic cart and checkout, the block cart and checkout, and the Store API all show the same amounts. When a product's rules change, carts calculate fresh rates instead of reusing the ones stored in the customer's session. Compatibility Developers Filters: shipeach_rules_for_product (the rules used for a cart item), shipeach_rule_matches (whether a rule applies, for example quantity or weight tiers), shipeach_rule_cost (the cost of one cart line), shipeach_package_cost (the total for a package), shipeach_import_rows (CSV rows before import). Action: shipeach_after_import. The order shipping line meta _shipeach_breakdown holds product or variation ID → cost. More plugins by Emtiaz Zahid

安装:

  1. Install and activate WooCommerce 8.0 or newer.
  2. Install Shipeach from the Plugins screen (or upload the plugin folder to /wp-content/plugins/) and activate it.
  3. Add rules under Product data → Shipping on your products, then add the "Per Product Shipping" method to a shipping zone or turn on the option under WooCommerce → Settings → Shipping → Per Product Shipping.

屏幕截图:

  • Give a variation its own rules that replace the parent product's.
  • Add "Per Product Shipping" to any shipping zone, with default costs and Free Shipping and Local Pickup hiding.
  • The cart charges each product's shipping, and a mixed cart adds them up in one rate.
  • Or add per-product costs on top of Flat rate and your other shipping methods.
  • Copy rules between products and find every product that uses per-product shipping.

升级注意事项:

1.0.0 Initial release.

常见问题:

Can variations have their own shipping costs?

Yes. Tick "Override shipping rules" on the variation and add its rules. The variation's rules then replace the parent product's rules entirely, so an address that matches none of the variation's rules gets the method's default cost, not the parent's rule. Variations without the override use the parent's rules.

Does it work with the block cart and checkout?

Yes. Rates are calculated on the server by WooCommerce's shipping API, so the block cart and checkout (and anything else using the Store API) show the same rate as the classic checkout. Compatibility with the cart and checkout blocks and with HPOS is declared.

Which rule is used when several match?

The most specific one: a postcode rule, then a state rule, then a country rule, then an "any" rule. If two matching rules are equally specific, the one higher in the table wins.

What happens to products without per-product shipping?

With the "Per Product Shipping" zone method, the "Products without per-product shipping" setting decides: "Charge nothing for them" (the default) adds nothing for those items, while "Do not offer this method" hides the method whenever the cart contains one, so your other methods apply. A product with per-product shipping on but no rule for the address is charged the method's Default line cost and Default item cost (0 when left blank). When adding costs to other methods, items without a matching rule add nothing.

How does it work with Free Shipping and Local Pickup?

Adding per-product costs to other methods never changes Free Shipping rates, and leaves Local Pickup unchanged unless you untick "Leave Local Pickup rates unchanged". The "Per Product Shipping" zone method has its own options to hide Free Shipping and Local Pickup whenever it is offered.

Does it work with multi-currency plugins?

Costs are entered and calculated in your store's base currency. Shipeach does not convert them itself; a multi-currency plugin or a small snippet can convert each line's cost with the shipeach_rule_cost filter.

How do I import rules from a CSV file?

With WP-CLI. Each line is one rule with six columns in this order: product ID (a variation ID is fine), country code, state code, postcode, line cost, item cost. A first line that does not start with a number is skipped as a header. * or an empty country, state or postcode means "any", and an empty cost is 0. Run wp shipeach rules import rules.csv (each product's rules are replaced by the rows given for it) or add --mode=append to add the rows after its existing rules. wp shipeach rules export writes all rules in the same format to the shipeach folder inside your uploads directory. The Tools screen does not upload files.

Can I use a CSV file from the WooCommerce.com Per Product Shipping extension?

Its documentation lists the same six columns in the same order (product ID, country code, state code, postcode, line cost, item cost), and the header line is skipped, so wp shipeach rules import reads that layout. Shipeach has not been tested with files exported by the extension itself, so review the imported rules afterwards. Also note that Shipeach uses the most specific matching rule, while that documentation says the first matching row from the top of the table is used.

Does Shipeach send anything to its author or to other services?

No. It makes no outbound requests and uses no external service. It charges the costs you enter; it does not fetch carrier rates, print labels or pack boxes.

更新日志:

1.0.0