• Resolved andysbikes

    (@andysbikes)


    I have setup my shipping options worldwide without any issues however I have a small group of products which are causing issues.

    These are items which are to heavy for inernational shipping and can only be shipped via couriour to mainland UK and not via Royal mail which obviously also covers non-mainland.

    There is no postage charge for these items (free shipping), however I need to need to limit shipping for these items to mainland postcodes only and also prevent people from selecting the other shipping options (royal mail) which are included within the same postcode ranges as the couriour options.

    I have tried grouping my couriour products into their own shipping class however this only allows me to specify a different price for these items and does not allow me to prevent the other shipping services covering the same postcodes from appearing.

    I have tried messing around with the woocommerce shipping options and I am not sure how I can accomplish this.

    98% of my product catalogue can be shipped via RM and is functioning perfectly, its just this small group of heavy products which can only be sent via mainland UK only couriers.

    Id be super appreciative if anyone could help me to figure this out.

Viewing 5 replies - 1 through 5 (of 5 total)
  • Have a look at this: https://docs.woocommerce.com/document/hide-other-shipping-methods-when-free-shipping-is-available/#

    It’s something I’ve used to disable all other options if the Free Shipping method is available.

    There is also: https://www.businessbloomer.com/woocommerce-disable-free-shipping-if-cart-has-shipping-class/

    The line:
    unset( $rates['free_shipping:8'] ); // shipping method with ID (to find it, see screenshot below)

    could be modified to unset the other shipping methods you have.

    Thread Starter andysbikes

    (@andysbikes)

    Thanks for the reply. The problem I have is that this would also remove all of the other premium shipping services that I use for my non courier services. I have free shipping, premium 1 and premium 2.

    On these few heavier items I only want a single option – free shipping. Also these heavier items can only be sent to mainland postcodes, unlike the non courier services which can also be shipped non mainland.

    Im basically trying to juggle premium shiiping options being available for standard weight items but not for heavy items, whilst also limited the heavier courier items to only be available to purchase for mainland customers, whilst the free shipping and premium options for non heavy items being available for mainland, non mainland & international.

    I may have to use a shipping addon which allows more detailed instructions.

    • This reply was modified 3 years, 5 months ago by andysbikes.
    • This reply was modified 3 years, 5 months ago by andysbikes.
    • This reply was modified 3 years, 5 months ago by andysbikes.
    • This reply was modified 3 years, 5 months ago by andysbikes.

    You’d probably need one of the conditional shipping type plugins then – there’s a few on CodeCanyon – not used any of them though.

    Plugin Support Shaun Kuschel a11n

    (@shaunkuschel)

    Automattic Happiness Engineer

    Hey @andysbikes,

    Based on what you described, a conditional shipping plugin would be the best option- as that would allow you to set the rules that prevent purchases or specific shipping methods from being available based on the customer’s location.

    If this sounds like an option you might be interested in, I’d suggest this plugin (as I’ve used it extensively and it works great):

    https://woocommerce.com/products/conditional-shipping-and-payments/

    Plugin Support lionel.a11n

    (@lioneldaniel)

    I hope you found something that works for you! We haven’t heard back from you in a while, so I’m going to mark this as resolved – if you have any further questions, you can start a new thread.

    Thanks!

Viewing 5 replies - 1 through 5 (of 5 total)
  • The topic ‘Help with shipping’ is closed to new replies.