• Resolved joyryde

    (@joyryde)


    Hi,

    We watched your videos and used your wizard and cannot understand how to use the plugin, nothing we try works.

    We have 2 shipping classes on our website:

    Free Shipping

    UPS Shipping

    Every product offers one of those 2.

    We have a few dozen products where the manufacturer does not allow free shipping and they do not use UPS, they require that their product have a FLAT RATE shipping fee. There are at least 25 different FLAT RATE fees depending on which product it is. So, we simply need to have 25 different flat rates and then we need to apply those ONLY to the products that we assign them to.

    Example:

    This product must have a $99 Flat Rate fee added in the cart.

    This product must calculate ONLY UPS shipping fees in the cart, free shipping is not allowed.

    This product offers free shipping in the cart but they can also choose to pay for UPS.

    We need the plugin to add the $99 Flat Rate fee to the first product, and if they add any other products to the cart, those are not affected.

    How do we do that? Thank you!

Viewing 5 replies - 1 through 5 (of 5 total)
  • Plugin Author wp-centrics

    (@wpcentrics)

    Hi @joyryde, thank you for your interest.

    First of all, you need to be able to distinguish certain products. This can only be done using shipping classes in the free version. That means: you need to assign a different shipping class to each of the 25 products (if each of these 25 products has a different shipping cost). If there are products with the same cost, you could group them by creating fewer classes: “class-10usd”, “class-20usd” or “class-bigger” “class-heavy” etc.

    Since you want these products to add their shipping costs together, you’ll need to create a rule for each of them within the same shipping method, like this:

    • #1: WHERE Product kind > In shipping class (whatever), price $10 * qty,
    • #2: WHERE Product kind > In shipping class (other), price $15 * qty,
      …and so on.

    Now for the restrictions:
    You cannot use Fish and Ships Free to make one product disable a shipping method from a third party plugin. (If UPS is another Fish and Ships method, you can do it, but if it’s a method from another plugin, this can only be done with Fish and Ships Pro.) Fish and Ships Free does have a special action called “Abort.” With this, you can create a condition to prevent a method from showing. For example:

    • You create the flat rate within a Fish and Ships method, and you set up a rule where, if there’s a product with the shipping class “X,” the special action “Abort” is triggered.

    Similarly, if the UPS calculation can be replicated with rules (and not through a UPS API connection), you could handle everything with Fish and Ships Free.

    If you decide to upgrade to Pro, there’s a special action to hide other shipping methods conditionally (Advanced > Hide other shipping methods), which is exactly what I think you need. Additionally, you could avoid creating shipping classes for the 25 products because Pro has a selection criterion for individual products (Advanced > Any of these products [and pick one/more]).

    Let me know if you need further clarification!

    Kind regards,
    Carles Martin

    Thread Starter joyryde

    (@joyryde)

    Hi Carles!

    First off, THANK YOU for such a helpful response! I appreciate this.

    I followed your instructions and set up an example $99 Flat Rate shipping class. I applied it to the example product I provided:

    This product?must have a $99?Flat Rate?fee added in the cart.

    Upon adding it to the cart, it worked perfectly and offered the $99 Flat Rate shipping as the only option.

    But. 95% of our customers order 3-10 products at a time.

    As soon as I added a product that has the default Woocommerce ‘Free Shipping’ method, it then offered the consumer an option of ‘Free Shipping’, $99 Flat Rate, and all UPS rates from the UPS plugin. I was able to choose ‘Free Shipping’ and it failed to force the consumer to pay the $99 Flat Rate fee that the manufacturer of the example product requires. So anyone who simply adds any product to their cart that has free shipping, along with a flat rate product, would simply be able to avoid ever paying the mandatory shipping fee.

    Here is your plugin working as I’d hoped:

    https://tinyurl.com/23ha3bgg

    But here’s how it looks as soon as you add any product with Free Shipping to the cart as well:

    https://tinyurl.com/24hlxws6

    Your instructions say:

    You cannot use Fish and Ships Free to make one product disable a shipping method from a third party plugin.

    Free Shipping isn’t from a plugin, it’s the default shipping that comes with Woocommerce. And it would apply to all products that have that class on our website (90% of them). So I guess I am wondering how we would force the product with the mandatory $99 Flat Rate shipping class to have that added in the cart, and THEN any other product with Free Shipping would be free. But NOT the product that we set to be $99 flat rate. Is that possible?

    Thread Starter joyryde

    (@joyryde)

    We were able to use the Woocommerce Booster plugin to hide ‘Free Shipping’ in the cart if a product in the cart contains Fish & Ships class, but that still doesn’t function properly because when you add any other product that is required to charge UPS shipping, the customer can simply choose the Fish & Ships flat rate instead of having to pay for the UPS fees for the product that mandates that they pay UPS fees. So they pay the flat rate for the one product that has flat rate, and then they get everything else in the entire cart shipped for free, which is a huge problem.

    Plugin Author wp-centrics

    (@wpcentrics)

    Hello @joyride,

    First of all, I want to apologize for not being clear enough in my first response: when I said that Fish and Ships cannot disable third-party shipping methods, I meant any other method, including WooCommerce’s native ones. This is because a Fish and Ships Free method can only inhibit itself (special action: abort) but not any other method. Obviously, you can add this condition to all Fish and Ships methods, but you won’t be able to conditionally hide any method that is not part of Fish and Ships. (With Fish and Ships Pro, this can be achieved with another special action: Hide other shipping methods, that does the job for any method: FnS, WC native or anyother 3rd party).

    Now that this point is clarified: I’m not sure if there is some confusion about how WC shipping methods work? In principle, WooCommerce treats all products in the cart as a single shipment (package), and a single shipping method is applied to all products, which the customer can choose from the available options. You cannot apply two different shipping methods simultaneously.

    I say “in principle” because there is an option to split the cart into multiple shipments, and then the process is the same for each: each method calculates its rates and determines if it’s available or not (as Amazon does, for example). This functionality, despite being native to WC, is not developed. Technically, it’s called “multiple packages.” As far as I know, there are a couple of plugins on the market that offer this, but I haven’t tried them.

    What you can do is create a flat-rate method with Fish and Ships that self-inhibits if there are products in the cart that block flat rates: put on it a first rule “Always” with the flat rate cost, and other selector rules with the special action “Abort”.

    If you’ve solved the issue of hiding the UPS method with another plugin, I believe you can achieve everything you need with the free version.

    Kind regards,
    Carles.

    Plugin Author wp-centrics

    (@wpcentrics)

    After a while, I close this topic. Please, open a new one if the problem persists.

    Best regards,
    Carles Martin

Viewing 5 replies - 1 through 5 (of 5 total)
  • You must be logged in to reply to this topic.