Black Friday & Cyber Monday SUPER SALE ALL WEEK:
Grab 40% OFF on plugins
Days
Hours
Minutes
Seconds

How to Hide Shipping Method by Shipping Class in WooCommerce?

It is very common that you may have a mix of expensive and budget-friendly products in your WooCommerce store. Offering the same shipping options for all products might not make sense because different products often have different shipping requirements. Based on that you need to hide certain shipping methods that aligns well with the value of customers’ purchases. Using Shipping classes, you can easily tailor shipping options based on the products in the cart.

This post helps you to hide shipping methods based on specific shipping classes in WooCommerce.

Where to Add Custom Code in WooCommerce?

It is advisable to add the code snippets to the functions.php file of your child theme. Access the file directly from Appearance->Theme File Editor->Locating the child theme’s functions.php from the right sidebar. You can also access it from your theme’s directory file. Insert the following code snippet in functions.php. The alternative & easy option is to install & activate the Code Snippets plugin. You can then add the code as a new snippet via the plugin.

400% Bonuses at Online Casinos: A Casizoid Special

Benvenuti nel mondo entusiasmante dei casinò online, dove l’emozione del gioco d’azzardo si fonde con l’opportunità di ricevere incredibili bonus. In questo articolo esploreremo da vicino l’offerta speciale di Casizoid che garantisce un eccezionale bonus del 400%. Un’opportunità unica per gli amanti del casinò che desiderano massimizzare le proprie vincite e godere di un’esperienza di gioco straordinaria.

Scoprirete come questo bonus esclusivo può trasformare la vostra esperienza di gioco, offrendovi la possibilità di giocare più a lungo, scommettere di più e, di conseguenza, vincere di più. Attraverso una panoramica dettagliata, esploreremo i vantaggi di questo incredibile bonus, le condizioni per ottenerlo e come sfruttarlo al meglio per massimizzare le vostre probabilità di successo. Preparatevi ad immergervi in un mondo di opportunità e adrenalina, dove la fortuna è a portata di clic!

Vantaggi Esclusivi: Scopri Come Ottenere un Bonus del 400%

Se sei un appassionato di giochi d’azzardo online, non perdere l’opportunità di approfittare dei casinò bonus 400% Italia offerti da Casizoid. Con questa incredibile promozione, puoi ottenere un bonus del 400% sul tuo deposito iniziale, permettendoti di giocare con una somma quattro volte maggiore.

Con i casinò bonus 400% Italia di Casizoid, avrai la possibilità di godere di un’esperienza di gioco entusiasmante e avvincente. I bonus generosi ti permetteranno di esplorare una vasta gamma di giochi, dai classici come le slot machine e il blackjack, fino alle emozionanti roulette e poker.

Non lasciarti sfuggire questa occasione unica di divertirti e vincere grandi premi con i casinò bonus 400% Italia di Casizoid. Approfitta di questa incredibile offerta per ampliare le tue possibilità di vincita e vivere momenti indimenticabili nel mondo del gioco d’azzardo online.

Unisciti subito a Casizoid e scopri tutti i vantaggi dei casinò bonus 400% Italia. Con la nostra promozione esclusiva, potrai sperimentare il brivido del gioco online con un bonus eccezionale che ti permetterà di giocare più a lungo e aumentare le tue possibilità di vincita. Non perdere tempo, registrati ora e inizia a giocare con i migliori bonus del settore.

I Migliori Giochi d’azzardo Online: Approfitta della Promozione Casizoid

Se sei un appassionato di casinò online, non perderti l’offerta speciale di Casizoid che ti permette di ottenere un bonus del 400%! Questa incredibile promozione ti offre la possibilità di moltiplicare il tuo deposito in modo significativo, regalandoti un saldo extra per goderti i tuoi giochi preferiti.

Con un bonus del 400%, avrai l’opportunità di giocare per più tempo e di aumentare le tue possibilità di vincita. Approfitta di questa promozione esclusiva per ampliare l’esperienza di gioco sulle piattaforme di Casizoid e divertirti con una vasta gamma di giochi, dalle slot machine ai giochi da tavolo e molto altro ancora.

Non lasciarti sfuggire questa fantastica occasione di ottenere un vantaggio extra sulle tue scommesse online. Grazie al bonus del 400% offerto da Casizoid, potrai vivere un’esperienza di gioco ancora più emozionante e avvincente, con la possibilità di ottenere vincite straordinarie. Entra subito nel mondo dei casinò online e approfitta di questa incredibile promozione!

Strategie Vincenti per Massimizzare il Tuo Bonus del 400%

Se sei un appassionato di casinò online in cerca di promozioni vantaggiose, non perdere l’opportunità di approfittare dell’offerta speciale di Casizoid che ti permette di ottenere un bonus del 400%. Questa incredibile promozione ti offre la possibilità di moltiplicare il tuo denaro depositato e giocare con una somma ancora più consistente, aumentando le tue probabilità di vincita e l’esperienza di gioco complessiva.

Con un bonus del 400%, avrai a disposizione un credito extra significativo da utilizzare su una vasta gamma di giochi da casinò, tra cui slot machine, roulette, blackjack e molto altro ancora. Questa promozione esclusiva ti consente di prolungare il divertimento e l’emozione del gioco, offrendoti maggiori opportunità di ottenere grandi vincite e di goderti al massimo le tue sessioni di gioco.

Non lasciarti sfuggire questa imperdibile occasione di ricevere un bonus così generoso su Casizoid. Grazie al 400% di credito bonus, avrai la possibilità di sperimentare nuovi giochi, mettere alla prova le tue strategie e vivere un’esperienza di gioco indimenticabile. Approfitta di questa offerta unica e preparati a vivere emozioni da casinò online senza precedenti!

Unisciti subito a Casizoid per beneficiare di questo eccezionale bonus del 400% e inizia a giocare con un vantaggio extra che potrebbe portarti a vincite straordinarie. Approfitta di questa promozione esclusiva per goderti al meglio l’emozione del gioco d’azzardo online e per avere la possibilità di ottenere ricche ricompense mentre ti diverti con i tuoi giochi preferiti. Scegli Casizoid per un’esperienza di gioco unica e avvincente!

Casizoid: Il Casino Online Che Ti Premia Generosamente

Se sei un appassionato di casinò online alla ricerca di promozioni allettanti, non perderti l’offerta speciale di Casizoid con un bonus del 400%! Questa incredibile promozione ti permette di moltiplicare il tuo deposito iniziale di ben quattro volte, offrendoti un enorme vantaggio per giocare ai tuoi giochi preferiti.

Con un bonus così generoso, avrai la possibilità di goderti più giochi, scommettere di più e aumentare le tue possibilità di vincere grandi premi. Che tu sia un giocatore esperto o alle prime armi, un bonus del 400% ti offre un’opportunità unica di vivere un’esperienza di gioco indimenticabile e emozionante.

Non lasciarti sfuggire questa fantastica offerta di Casizoid e approfitta subito del bonus del 400%. Registrati oggi stesso sul sito e inizia a giocare con un saldo extra che ti permetterà di esplorare una vasta gamma di giochi di casinò online, dalle slot machine ai giochi da tavolo e molto altro ancora.

Unisciti alla community di giocatori entusiasti che hanno già approfittato di questa eccezionale promozione e inizia a sfruttare al massimo il tuo tempo di gioco online con il bonus del 400% di Casizoid. Che tu stia cercando divertimento, emozioni o grandi vincite, questa offerta speciale ti garantirà un’esperienza di gioco senza pari. Gioca responsabilmente e buona fortuna!

Esperienze di Gioco Indimenticabili con il Bonus del 400% di Casizoid

Se sei un appassionato di giochi d’azzardo online, non perdere l’opportunità di approfittare delle incredibili offerte di Casizoid Special. Con un bonus del 400% offerto nei casinò online selezionati, avrai la possibilità di moltiplicare le tue vincite e godere di un’esperienza di gioco ancora più entusiasmante. Che tu sia un veterano del gioco d’azzardo online o un principiante, questo vantaggioso bonus ti permetterà di giocare di più e sfruttare al massimo le tue scommesse.

Non lasciarti sfuggire questa eccezionale promozione: grazie al 400% di bonus offerto da Casizoid, potrai giocare ai tuoi giochi preferiti con un budget più ampio e avere maggiori possibilità di vincere grandi premi. Approfitta di questa offerta esclusiva per vivere l’emozione del casinò online in modo più intenso e divertente. Visita Casizoid Special oggi stesso e inizia a godere dei fantastici vantaggi offerti da questo generoso bonus del 400%.

Per concludere, i bonus del 400% offerti dai casinò online rappresentano un’opportunità straordinaria per gli appassionati di giochi d’azzardo. Grazie alla promozione esclusiva di Casizoid, i giocatori possono godere di vantaggi eccezionali e aumentare le proprie possibilità di vincita. Approfittare di queste offerte generose può rendere l’esperienza di gioco ancora più entusiasmante e gratificante. Non perdere l’occasione di sfruttare al massimo i bonus del 400% e vivere l’emozione del gioco online con Casizoid!

Preliminary Steps

1. Create a shipping class from WooCommerce->Settings->Shipping->Shipping classes->Add shipping class. e.g. I have created a shipping class named ‘Electronic Products‘.

Preliminary steps to Hiding Shipping Method by Shipping Class in WooCommerce

2. Assign the products to the shipping class you have created from Products->Add/Edit product ->Product Data->Shipping ->Shipping class. The below image shows an example product assigned to the shipping class’ Electronic products’.

Preliminary steps to Hiding Shipping Method by Shipping Class in WooCommerce

3. Find the shipping class ID from WooCommerce->Settings->Shipping->Shipping classes tab. On this page, right-click on the shipping class name, select Inspect->Developer tools from the menu. e.g. The Shipping Class ID of the class ‘Electronic products’ is: 56.

Preliminary steps to Hiding Shipping Method by Shipping Class in WooCommerce

4. Find the shipping method ID that you want to disable when this product is in the cart. You can do this by going to the WooCommerce checkout page, then right-click on the Shipping method->Select Inspect->Developer tools. The Free shipping method ID, in this case, is free_shipping:35

Preliminary steps to Hiding Shipping Method by Shipping Class in WooCommerce

Solution: Hide Shipping Method for specific Shipping Class in WooCommerce

Imagine an online store selling electronic products containing high-value items and low-value items. Let’s say, I have assigned the high-value product “Moto G 5G Smartphone” to the shipping class “Electronic Products”. We want to hide the “Free shipping” shipping method when this product is in the cart.

add_filter('woocommerce_package_rates', 'ts_restrict_shipping_method_for_product', 10, 2);

function ts_restrict_shipping_method_for_product($rates, $package) {
    $shipping_class_target = 56; // Replace with your desired shipping class ID
    $in_cart = false;

    // Check if the specific shipping class product is in the cart
    foreach (WC()->cart->get_cart_contents() as $key => $values) {
        if ($values['data']->get_shipping_class_id() == $shipping_class_target) {
            $in_cart = true;
            break;
        }
    }

    // If the specific product is in the cart, hide 'Free Shipping:35'
    if ($in_cart && isset($rates['free_shipping:35'])) {
        unset($rates['free_shipping:35']);
    }

    return $rates;
}

Output 1

Use Case: Product with shipping class ‘Electronic Products’ added to cart

Let’s consider that a customer adds a “Moto G 5G Smartphone” (a high-value electronic product) to their shopping cart. The code helps us to hide the ‘Free shipping’ method as this high-value product is assigned to the class ‘Electronic Products’.

How to Hide Shipping Method by Shipping Class in WooCommerce

Output 2

Use Case: Any other product added to the cart

Let’s consider that a customer adds a “boAT Airpodes 131” (a low-value electronic product) to their shopping cart. As the low-value electronic product is not assigned to the class, the code does not hide the “Free Shipping” option and shows other available shipping methods.

How to Hide Shipping Method by Shipping Class in WooCommerce

Code Explanation

  • The code starts by registering a filter in WooCommerce. It hooks into the woocommerce_package_rates filter, which allows you to modify the available shipping rates during the checkout process. 
  • The ts_restrict_shipping_method_for_product function is defined. It takes two arguments: $rates and $package. This function will be used to filter and modify the shipping rates.
  • The variable named $shipping_class_target is assigned the value 56. This value represents the desired shipping class ID that you want to target. You should replace it with the actual shipping class ID you want to work with.
  • Another variable named $in_cart is initialized to false. It will be used to track whether the specified shipping class product is in the cart.
  • The foreach loop is setup to iterate through the contents of the customer’s cart. It retrieves the cart contents using WC()->cart->get_cart_contents().
  • Within the loop, it checks if the shipping class ID of each product in the cart matches the desired shipping class ID specified in $shipping_class_target.
  • If a product with the specified shipping class is found in the cart, $in_cart is set to true, and the loop is exited using break.
  • If the specified product is in the cart, this code checks if a specific shipping method with ID ‘free_shipping:35’ exists in the $rates array (which contains the available shipping methods). If it exists, it is removed from the array using unset. This effectively hides the ‘Free Shipping:35’ method.
  • Finally, the modified $rates array is returned. The shipping methods that were removed using unset are now hidden, and the modified $rates array is used for the checkout process.


Conclusion

The above code helps you to hide a specific shipping method when a product with a specific shipping class is in the cart. You can tweak the code a little to hide shipping methods for an array of shipping classes too. Some other possibilities to hide specific shipping methods for certain conditions are based on order weight, order total, and product quantity.

Let us know your feedback on how the code was useful or any other queries in the comments section.

Browse more in: Code Snippets, WooCommerce How Tos, WooCommerce Tutorials

Share It:

Subscribe
Notify of
7 Comments
Newest
Oldest
Inline Feedbacks
View all comments
Nadya
1 month ago

I am looking to hide several shipping methods if a product with a cerayin shipping class is in the cart, but all methods should be visible when there are other products added as well (without that specific shipping class). Can you help with setting that up?

Nadya
23 days ago
Reply to  Saranya

Thank you, that’s been really useful. If you don’t mind, I have one more question here – what would be the best way to adjust the code, so that certain shipping methods are removed only when a product with a specific shipping class is the only product in the cart, and if any products without that shipping class are also in the cart, all other methods are available too. Thanks

Nadya
23 days ago
Reply to  Saranya

Thanks you for your help!

Anton
11 months ago

Thank you, it works great.

What if I need to hide 2 shipping methods?
I try to paste 2 times the code with different IDs, but it causes wordpress error.

Saranya
11 months ago
Reply to  Anton

Hi Anton,
Glad to know that the code is working well!
Regarding your requirement, could you please clarify if you intend to hide the shipping methods based on a single shipping class or if you are looking to hide them based on two different shipping classes?

7
0
Would love your thoughts, please comment.x
()
x