I have Flat rate shipping as the standard for all of my products $6.95, but I have a category that needs to be $14.95 because it is a tube and cost more to ship. How can I make $14.95 the default for that category only, and hide the Flat rate.

Right now my customers see both.


Why not use table rates and make the products belonging to that certain category a heavier weight therefore invoking the higher price?

  • we have over 3000 products and our season begins now. It is only for one category – Danny Mar 30 '16 at 15:00
  • Sounds like you'll need to create a custom shipping method in order to achieve this then. It's not too difficult to do this overall, you'll just need to examine the cart contents and ascertain if any of those products belong to the category in question - if so give the higher price. This guide is a good starting point for creating bespoke shipping methods: inchoo.net/magento/custom-shipping-method-in-magento – Adam Moss Mar 30 '16 at 15:13
  • Now, I have the radio button Flat Rate $0.00 and Express delivery $12.30 and $14.95. I don't want clients to choose (Flat Rate) but it is still an option. – Danny Mar 30 '16 at 20:53
  • You'll just need to put a conditional in the collectRates method to prevent the flat rate from showing if the any of the cart products belong to the category in question. – Adam Moss Mar 31 '16 at 8:38
  • sorry, can you give me an example of an conditional to use? – Danny Mar 31 '16 at 15:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.