By default, WooCommerce automatically selects a shipping method at checkout. While this feature can streamline the checkout process for some stores, there are instances where you might not want a shipping method to be pre-selected. For example, if you want customers to deliberately choose their preferred shipping option, or if you’re dealing with specialised shipping requirements, removing the default shipping selection could be beneficial.
In this guide, we’ll show you how to remove the default shipping method at checkout, providing customers with the opportunity to actively choose their preferred shipping option. As always, make sure to implement changes in a child theme to avoid losing your custom code when your theme updates.
Why Remove the Default Shipping Selection?
There are a few situations where removing the default shipping option makes sense:
- Clearer Customer Choices: Prevent customers from accidentally using a shipping method they didn’t want or need.
- Custom Shipping Options: If you offer multiple shipping options with varying speeds and costs, it might be better for customers to choose deliberately.
- Enhanced User Experience: A customer who actively selects their shipping method is less likely to be surprised by shipping costs, reducing the chance of abandoned carts.
Custom Code to Remove Default Shipping at Checkout
To remove the default shipping option at checkout, you can use the following code snippet. This snippet ensures that no shipping method is pre-selected when customers arrive at the checkout page. Simply add this code to your theme’s functions.php file, or use a child theme to protect your changes from theme updates.
/*
* Snippet: How to Remove Default Shipping at WooCommerce Checkout Page – 2026
* Author: John Cook
* URL: https://wcsuccessacademy.com/?p=1502
* Tested with WooCommerce 10.7.0
* "This function removes default shipping method selection on WooCommerce checkout page"
*/
function wcsuccess_no_default_shipping_method( $rates, $package ) {
foreach ( $rates as $rate_key => $rate ) {
$rates[ $rate_key ]->chosen = false;
}
return $rates;
}
add_filter( 'woocommerce_package_rates', 'wcsuccess_no_default_shipping_method', 10, 2 );
How the Code Works
This function, wcsuccess_no_default_shipping_method(), removes the pre-selected shipping method at checkout by setting all available shipping methods to false for the chosen property. When the customer reaches the checkout page, they will see all available shipping options, but none will be automatically selected.
Displaying a Notice for Shipping Selection
Since no shipping method will be pre-selected, you may want to add a notice encouraging customers to select their shipping option. Here’s an additional code snippet that will display a notice if no shipping method is chosen.
/*
* Snippet: How to Remove Default Shipping at WooCommerce Checkout Page – 2026
* Author: John Cook
* URL: https://wcsuccessacademy.com/?p=1502
* Tested with WooCommerce 10.7.0
* "This function displays a notice if no shipping method is selected"
*/
function wcsuccess_shipping_selection_notice() {
if ( WC()->cart->needs_shipping() && ! WC()->session->get( 'chosen_shipping_methods' ) ) {
wc_print_notice( __( 'Please select a shipping method.', 'woocommerce' ), 'notice' );
}
}
add_action( 'woocommerce_review_order_before_shipping', 'wcsuccess_shipping_selection_notice' );
How This Works
The wcsuccess_shipping_selection_notice() function checks if the customer needs to select a shipping method and whether they’ve made a selection. If no method is chosen, WooCommerce will display a notice prompting the customer to pick one before proceeding.
Best Use Cases for No Default Shipping Method
- Varied Shipping Options: Stores offering a mix of express, standard, or free shipping might want to make customers explicitly select their shipping option.
- Shipping Price Sensitivity: If customers are price-conscious, ensuring they choose their shipping method can avoid surprises during checkout.
- Unique Shipping Conditions: Some stores offer shipping that varies by product, destination, or order size. Allowing customers to make an active selection ensures they fully understand the shipping conditions.
Conclusion
Removing the default shipping method at checkout in WooCommerce can provide more clarity for your customers, improve the user experience, and reduce the likelihood of errors or abandoned carts due to unexpected shipping costs. With a bit of custom code, you can easily make this change without the need for extra plugins.
Be sure to add any code to a child theme to avoid losing your customisation with theme updates. For more WooCommerce tips, check out our WooCommerce Visual Hooks Guide or use our wp-config generator to make additional customisations.
I have been working with WordPress and WooCommerce since 2012 and have developed a deep knowledge of the content management system. Since 2012, I have developed several plugins and designed dozens of websites utilising different frameworks, CMS’s and programming languages. I am proficient in PHP, Python, Java, C, C++, R and JavaScript with limited experience in Go, Kotlin and Swift.
Educationally, I have a Master’s degree in cyber security a Bachelor’s (Hons, First Class) in Applied Research and a Graduate Certificate in Data Science. I’m currently undertaking PhD studies investigating IoT cybersecurity. I recently graduated with First Class Honours and Masters of Information Technology, receiving the Executive Dean’s Award for studies undertaken in the 2021 and 2022 academic years. I have worked in the information technology industry for the past 11 years primarily as a software/web developer specific to design, optimisation, network management and security. My research interests are in the areas of Internet of Things (IoT), 5G and Beyond Networks, information security for wireless networks and software development.
Stay In Touch

