=== Dreamfox Shipping Methods per Product for WooCommerce ===
Contributors: dreamfox
Tags: shipping methods, restrict shipping methods, hide shipping method, conditional shipping, woocommerce shipping
Requires at least: 5.8
Tested up to: 7.0.4
Requires PHP: 7.4
Requires Plugins: woocommerce
WC requires at least: 5.0
WC tested up to: 11.0.1
Stable tag: 2.8.2
License: GPLv3
License URI: http://www.gnu.org/licenses/gpl-3.0.html

Control WooCommerce shipping methods per product, category, or tag. Create conditional shipping rules and increase checkout conversions.

== Description ==

Take full control of your WooCommerce shipping and checkout experience with **Dreamfox Shipping Methods per Product for WooCommerce**.

This powerful plugin allows you to control **shipping methods per product, category, or tag**, giving you complete flexibility over your checkout.

👉 Learn more about features, documentation, and premium options:
https://dreamfoxmedia.com/plugins/woocommerce-shipping-gateway-per-product

Perfect for stores that need **conditional shipping, per product shipping, and advanced WooCommerce shipping rules** without custom development.

✅ Works on both the classic WooCommerce checkout and the new **WooCommerce Block Checkout** (Cart & Checkout blocks) — your shipping rules are enforced identically either way.

🚀 **Why this plugin?**
Default WooCommerce shipping often shows too many or incorrect shipping options. This can confuse customers and lead to abandoned carts.

With this plugin, you can:
- Show **express shipping only for premium products**
- Disable **free shipping for heavy or oversized items**
- Apply **shipping rules per category or tag**
- Control shipping behavior for **mixed carts**

👉 Result: **Better checkout experience, fewer abandoned carts, and higher conversions**

---

== Key Features ==

✔ Assign shipping methods per **individual product**  
✔ Fully compatible with **WooCommerce shipping zones**  
✔ Handle multiple products in one cart  
✔ Lightweight, fast, and easy to configure  
✔ No coding required  

✔* Set shipping rules per **category**  
✔* Apply shipping methods based on **product tags**  
✔* Advanced cart logic for mixed products  
✔* Conflict resolution methods:
   - Common shipping methods  
   - Cheapest option  
   - Most expensive option  
✔* Let the customer choose shipping method  

---

== Premium Features ==

Features marked with * are available in the Premium version.

🔥 Unlock advanced shipping logic and full flexibility:

- ✔* **Category-Based Shipping Rules**  
- ✔* **Tag-Based Shipping Control**  
- ✔* **Advanced Cart Logic**  
  Automatically handle multiple products with different shipping setups  

- ✔* **Conflict Resolution Options**  
  Decide what happens when products have different shipping rules:
  - Show common methods  
  - Force cheapest shipping  
  - Force most expensive shipping  
  - Let customer decide  

- ✔* **Include / Exclude Logic**  
  Fine-tune exactly which shipping methods are shown  

- ✔* **Checkout Optimization**  
  Reduce confusion and improve conversions  

---

== Free vs Premium ==

|| Feature || Free || Premium ||
| Shipping per product | ✔ | ✔ |
| WooCommerce zone support | ✔ | ✔ |
| Category-based rules | ✖ | ✔* |
| Tag-based rules | ✖ | ✔* |
| Mixed cart logic | ✖ | ✔* |
| Conflict resolution options | ✖ | ✔* |
| Let customer choose logic | ✖ | ✔* |
| Priority support | ✖ | ✔* |

*Premium features are marked with *

---

== How It Works ==

1. Edit a product, category, or tag  
2. Assign allowed shipping methods  
3. Save your settings  

At checkout:
- Matching shipping methods are shown  
- Mixed cart rules are applied (Premium)  

Simple, powerful, and flexible.

---

== Installation ==

= Automatic Installation =
1. Go to **Plugins > Add New**
2. Search for `Dreamfox Shipping Methods per Product for WooCommerce`
3. Click **Install Now**
4. Activate the plugin

= Manual Installation =
1. Upload the plugin ZIP file
2. Extract to `/wp-content/plugins/`
3. Activate via **Plugins**

---

== Frequently Asked Questions ==

= Can I assign multiple shipping methods to a product? =

Yes, you can select multiple shipping methods per product.

---

= What happens with mixed carts? =

When multiple products with different shipping rules are added:

- Premium users can define how conflicts are resolved:
  - Show common methods  
  - Use cheapest or most expensive option  
  - Let the customer choose  

---

= Does this work with the new WooCommerce Block Checkout? =

Yes. The plugin works on both the classic `[woocommerce_checkout]` shortcode checkout and the new WooCommerce Block Checkout (Cart block + Checkout block). Shipping method restrictions are enforced through core WooCommerce shipping filters that both checkout experiences use, so allowed/excluded shipping methods behave identically either way.

---

= Where can I find documentation and support? =

You can find everything you need:

🌐 Website & Premium Features:  
https://www.dreamfoxmedia.com

📚 Knowledge Base (guides & tutorials):  
https://help.dreamfoxmedia.com/shipping-gateway-per-product

🛠 Support (submit a ticket):  
https://dreamfoxmedia.com/support/

---

== Screenshots ==

1. Choose the allowed shipping methods for an individual product, right from the Product data panel.
2. The plugin's Information tab, with an overview of what it does and links to related Dreamfox Media plugins.
3. Set how mixed carts (products with different shipping methods) behave at checkout.
4. Checkout automatically shows only the allowed shipping method(s) for the products in the cart.

---

== Changelog ==

= 2.8.2 =
- Renamed the plugin (display title only) to "Dreamfox Shipping Methods per Product for WooCommerce" — "Shipping Gateway" was payment-industry terminology that didn't match how merchants actually search for this kind of plugin ("shipping method"). The WordPress.org slug, text domain, and install/update identity are unchanged, so this does not affect existing installs, licenses, or reviews.

= 2.8.1 =
- Settings screen: replaced the old JS-toggled tab UI with a real nav-tab-wrapper (matches the rest of the Dreamfox Media plugin family) — tabs are now plain page links, server-rendered per tab instead of all rendered and hidden with CSS.
- Information tab: rebuilt as a two-column layout with a new hero image and a "Screenshots" gallery (click a thumbnail to view it full-size).
- Renamed the "Settings" tab to "Cart Rules" to avoid duplicating Freemius's own "Settings" link in the tab bar.
- Added the `.wordpress-org` assets folder (banner, icon, screenshots) so the deploy workflow pushes them to the WordPress.org plugin listing.

= 2.8.0.900 =
* Fixed the plugin's Text Domain, which was incorrectly set to `shipping-gateway-per-product-for-woocommerce` — it now correctly matches the published WordPress.org slug, `woocommerce-shipping-gateway-per-product`. This only affects how translations are loaded; no functional changes.

= 2.8.0 =
* Verified and declared compatibility with the WooCommerce Block Checkout (Cart block + Checkout block): the per-product shipping method restriction (`woocommerce_shipping_packages` / `woocommerce_package_rates`) was tested live against a WooCommerce 11.0.1 block checkout — excluded shipping methods correctly stay hidden and orders placed through the block checkout carry the correct shipping method.
* Declared `cart_checkout_blocks` compatibility via `FeaturesUtil::declare_compatibility()`.
* Tested with the latest WordPress (7.0.4) and WooCommerce (11.0.1) versions.

= 2.7.11 =
* Fix fatal error ("Call to undefined function fs_dynamic_init()") when this plugin is active alongside another Composer/Freemius-based plugin. The 2.7.10 release build was affected by this; sites on 2.7.10 should update immediately.

= 2.7.10 =
* Tested with the latest WordPress (7.0.1) and WooCommerce (10.9.4) versions.
* Trimmed plugin Tags to 5 (WordPress.org only uses the first 5; the rest were silently ignored).
* Shortened the Short Description to fit the 150-character limit (was being truncated).

= 2.7.9-RC1 =
* Code review fixes: quick/bulk edit loading, premium gate for category/tag rules, settings form and tab fixes.
* Updated Freemius SDK to 2.13.2.

= 2.7.8 =
* Tested with the latest WordPress (6.9.4) and WooCommerce (10.7.0) versions.

= 2.7.7 =
* fix typo in link

= 2.7.6 =
* Code cleanup and improved security

= 2.7.5 =
* Code cleanup and improved security

= 2.7.1 =
* Updated knowledge base links

= 2.7.0 =
* Tested with latest WordPress and WooCommerce
* Bug fixes
* Updated Freemius SDK

= 2.6.0 =
* Tested with latest WordPress and WooCommerce

= 2.5.9 =
* Bugfix: settings not saving correctly

= 2.5.8 =
* Compatibility updates

= 2.5.7 =
* Updated Freemius SDK

= 2.5.6 =
* Bugfix dropdown refresh

= 2.5.5 =
* Updated Freemius SDK

= 2.5.4 =
* Updated Freemius SDK

= 2.5.3 =
* Improved multisite compatibility

= 2.5.2 =
* Performance improvements

---

== Upgrade Notice ==

Upgrade to the latest version for improved performance, compatibility, and advanced shipping features.