How to Hide Woocommerce Shipping Methods with Shipping Classes?

Поділитися
Вставка
  • Опубліковано 25 гру 2024

КОМЕНТАРІ •

  • @CatalinaSeil
    @CatalinaSeil 27 днів тому

    Thank you so much!!! You solved an issue that no one else I asked could! Did all the steps and modified to my specific website and it worked just great!! Thank you for sharing your knowledge!

  • @dadadada-of8bj
    @dadadada-of8bj 2 роки тому

    Thank you! It's the first time I try to use code snippets and I followed the lines and added a couple of the snippets, and they work like a magic.

  • @PTBPCarson
    @PTBPCarson 4 місяці тому

    Thank you! I been struggling for weeks over this. Subscribed and liked )

  • @Matt-i8d
    @Matt-i8d Місяць тому

    Top man! Thanks for sharing ♥

  • @ingarnt
    @ingarnt 8 місяців тому

    Big thanks! Works like a charm for one of my two use-cases.
    However, I am not a PHP expert. I also need a slight variation on this. I need to hide a shipping method if there are no 'heavy' shipping-class products in the cart. Or the logic could be if there are ONLY 'light' shipping-class products in the cart, then hide Flat_rate:2, flat_rate:5 and flat_rate:7
    i.e.
    If no pallet items (shipping-class 'heavy') in cart, then remove Pallet shipping-method

    • @wpsimplehacks
      @wpsimplehacks  8 місяців тому +2

      See this heare below. Change "heavy" and "light" with your own shippin class slug here: if ($shipping_class == 'light')
      This codes removes specific shipping methods if cart contains products with either "heavy" or "light" shipping class. I cart contains both classes then "heavy" is prioritized.
      add_filter('woocommerce_package_rates', 'modify_shipping_rates_based_on_class', 10, 2);
      function modify_shipping_rates_based_on_class($rates, $package) {
      $has_light = false;
      $has_heavy = false;
      // Check each cart item for shipping classes. Change this value with your own shipping class slug. 'heavy'
      foreach ($package['contents'] as $item_id => $values) {
      $product = $values['data'];
      $shipping_class = $product->get_shipping_class();
      if ($shipping_class == 'light') {
      $has_light = true;
      }
      if ($shipping_class == 'heavy') {
      $has_heavy = true;
      }
      }
      // Apply rules based on shipping class presence
      if ($has_heavy) {
      // Unset rates for "heavy"
      unset($rates['flat_rate:1']);
      unset($rates['flat_rate:6']);
      unset($rates['flat_rate:22']);
      } else if ($has_light) {
      // Unset rates for "light"
      unset($rates['local_pickup:21']);
      unset($rates['flat_rate:16']);
      unset($rates['flat_rate:6']);
      unset($rates['flat_rate:25']);
      }
      return $rates;
      }

  • @161633232
    @161633232 2 роки тому

    Excellent tutorial! Thanks a lot. It worked fine for me :)

  • @jeremylhomme7581
    @jeremylhomme7581 3 роки тому

    Big thanks to you man!! It works like a charm

  • @RAFIQULISLAM-917
    @RAFIQULISLAM-917 4 місяці тому

    Very Impressive Video. Keep up the good work. But my question is- where would I get these sample code from?

    • @wpsimplehacks
      @wpsimplehacks  4 місяці тому

      Link to the code is in the video description

    • @RAFIQULISLAM-917
      @RAFIQULISLAM-917 4 місяці тому

      @@wpsimplehacks Thank you very much I got it. I was trying to use your "Hide Category based shipping class trick", But it does not work. May be the reason, your video was made in 2 years back. Now WooCommerce shipping class and method is different than two years back. I wanted to use your trick to hide free shipping on an item from specific category.

  • @timbrazeal4751
    @timbrazeal4751 2 роки тому

    You're brilliant

  • @lissettetalhouk4436
    @lissettetalhouk4436 Рік тому

    Hello!!!!! Thanks for the video, how can I delete only the shipping methods at checkout? and only that it appears in the cart, thank you, I just need the shipment to appear in the checkout that was selected by the customer in the shopping cart, thank you

  • @Pororos
    @Pororos Рік тому

    Thank you! Anything similar to notify a customer they have an "exclusive product" which can only be paid using a defined payment server, so they must pay it as is or remove the product to allow all the payment methods?

  • @datboyfemi
    @datboyfemi 3 роки тому

    Greetings from Nigeria

  • @SoftExpert1
    @SoftExpert1 3 роки тому

    Hi, I am delivering products to a specific area "Victoria Australia'. I want to have the shipping and calculation but also want to hide the 'ship to another address' checkbox along with its fields.

    • @wpsimplehacks
      @wpsimplehacks  3 роки тому

      Sorry, can’t help with that because this is tough one and needs some custom coding.

  • @qariasim
    @qariasim Рік тому

    you're brilliant 😊it worked perfectly for two classes, one with "Free Shipping only" and the other one with either "Flat rate" or "Cash on delivery". But when two items from different classes are added to cart, it says: No shipping options were found for. I've tried all codes with no luck. Please help!

    • @wpsimplehacks
      @wpsimplehacks  Рік тому

      Probably it means that one product deactivates flat rate, another one cash on delivery. Since these two products are added to the cart your checkout doesn’t have any shipping options. If you delete one of these from the cart then one shipping method will be available.

    • @qariasim
      @qariasim Рік тому

      @@wpsimplehacks Thanks a lot for the reply. Would you plz advise how to tweak the code to show the applicable shipping method(s) based on the products added to cart, i.e. if all products has free shipping then hide all other methods, and if one item added with the other two methods then show other methods and hide free shipping. 🙏

  • @RohitChourasia
    @RohitChourasia 2 роки тому

    Hi, Great video. Your code also works like a charm! However I have 12 shipping zones which have 12 shipping methods (with different slugs) to be hidden for just 1 Shipping Class. So do I have to paste this code 12 times under each other? OR do I have to create 12 different snippets altogether? Hope you can help me on this.

    • @wpsimplehacks
      @wpsimplehacks  2 роки тому +1

      See this snippet here wpsimplehacks.com/how-to-hide-woocommerce-shipping-methods/#how-to-hide-multiple-woocommerce-shipping-methods-for-specific-shipping-classes
      This snippet helps you to hide multiple shipping methods that are using same shipping class.

  • @Jabro111
    @Jabro111 3 роки тому

    Thank You 😉I's works, but but only to hide method for one shipping class :/ how to change the code to hide one shipping method for multiple classes? For example - shipping methos 1 works only for 1kg un 3 kg shipping class, but doesn't works for 5kg, 10kg and 20kg shipping classes? Please help :)

    • @wpsimplehacks
      @wpsimplehacks  3 роки тому

      Maybe this one here helps you out wpsimplehacks.com/how-to-hide-woocommerce-shipping-methods/#how-to-hide-multiple-woocommerce-shipping-methods-for-specific-shipping-classes

  • @I-rshad
    @I-rshad Рік тому

    Sir can you help me with the code for showing paid shipping option when both the free shipping and paid shipping items comes for checkout.
    1-hide free shipping for shipping class with 20$ shipping cost
    2-hide this $20 shipping class option for the free shipping items
    Now when both of the thing comes sametime in cart showing no shipping options available

  • @mohammadal-najjar5115
    @mohammadal-najjar5115 2 роки тому

    Hi is there any update in woocommerce that made this snipt of code is not working because I tried so much but it did not work

    • @wpsimplehacks
      @wpsimplehacks  2 роки тому +1

      I just tested and it worked like it did before, that is - without any issues.

  • @TheyCallMeRome
    @TheyCallMeRome Рік тому

    great tutorial, but when you don't have the class in the cart, example local courier-only, then its still showing the courier-only method

    • @wpsimplehacks
      @wpsimplehacks  Рік тому

      Hence the video "How to hide shipping methods with shipping classes" :) If there’s no class added, then you can’t hide it with this method :)

    • @TheyCallMeRome
      @TheyCallMeRome Рік тому

      @@wpsimplehacks
      Do you have a video for that? right now the courier-only is showing though there is no product with that class

    • @wpsimplehacks
      @wpsimplehacks  Рік тому

      All my shipping related hacks are in this video: ua-cam.com/video/lQs48LV5rbA/v-deo.html

  • @banatcollections527
    @banatcollections527 Рік тому

    how to remove shipping address down of delivery charge in cart page.

  • @oceanwired
    @oceanwired Рік тому

    How to disable checkout or "add to cart" by shipping class?

  • @dsuinfotech
    @dsuinfotech Рік тому

    Hello how I can achieve below requirement?
    I want to sell my product in all countries with weight based shipping cost.
    If buyer from US shipping cost will be apply as upto 250gm weight $50 and there after if user add any weight product in cart charges will be apply as $10 1-250gm &
    Means for 350gm charges will be $60
    For 550gm $70
    Your help will be aplricated. Thank you