Sendra Shipping Rules gives you full control over shipping rates, and protects your store from orders that are placed with no shipping method.
Shipping methods (add as many instances as you need to any shipping zone)
Conditions (combine as many as you like)
Cost types: fixed, formula (for example [base] + ceil([weight]) * 5000), base + extra per weight step, weight tiers (tariff table), cost per item, percentage of subtotal, free. Cap the cost with a maximum, choose cart value before/after discounts, use volumetric (DIM) weight, show a description under the method, limit a method to logged-in customers and turn on an admin-only debug mode. Add a fixed or percentage handling fee, free shipping above an amount with its own title, or mark a method as “pay on delivery”.
Stop orders without a shipping method
Location price table: set a price per province and per city in a grid (WooCommerce > Shipping Rules > City prices) for any method.
Utilities: default product weight, packaging weight, postal weight limit, round costs up (for example to 1000), minimum purchase per method, origin province, method logo, “courier only” and “free only” modes, optional extra order statuses (sent to warehouse, packaged, handed to courier).
Iran-ready checkout
Tracking: save a carrier and tracking code on orders; shown to the customer and in emails, with an action hook for SMS plugins.
Compatibility: High-Performance Order Storage (HPOS), Cart & Checkout blocks, all Iranian WooCommerce currencies. The plugin is translation-ready (text domain sendra-shipping-rules); translations are contributed on translate.wordpress.org.