Code Snippet to Rearrange Shipping Methods in cart page

You are here:


The following code snippet helps you to rearrange the shipping methods in the cart page.

Add the following code to functions.php file or in any file relevant.

dd_filter('woocommerce_package_rates', 'wf_sort_shipping_methods', 10, 2);

function wf_sort_shipping_methods($available_shipping_methods, $package)
// Arrange shipping methods as per your requirement
$sort_order = array(
'wf_shipping_ups' => array(),
'wf_shipping_usps' => array(),
'free_shipping' => array(),
'local_pickup' => array(),
'legacy_flat_rate' => array(), 

// unsetting all methods that needs to be sorted
foreach($available_shipping_methods as $carrier_id => $carrier){
$carrier_name = current(explode(":",$carrier_id));
$sort_order[$carrier_name][$carrier_id] = $available_shipping_methods[$carrier_id];

// adding methods again according to sort order array
foreach($sort_order as $carriers){
$available_shipping_methods = array_merge($available_shipping_methods,$carriers);
return $available_shipping_methods;

In the above code, the arrangement of the shipping methods are in the order :

1. UPS
3. Free Shipping
4. Local Pickup
5. Flat Rate

So when the code is applied, the cart page will look like


    Leave a Reply

    WordPress Image Lightbox Plugin