Hello,
Thanks for the feature request. While we do not have a timeline for the implementation, we will add this to our list of features.
In the meantime, you may be able to hire a local developer to implement a small development snippet to reorder the shipping package rates:
https://www.businessbloomer.com/woocommerce-sort-shipping-costs-low-high/
/**
* @snippet Sort Shipping Rates by Price - WooCommerce
* @how-to businessbloomer.com/woocommerce-customization
* @author Rodolfo Melogli, Business Bloomer
* @compatible WooCommerce 7
* @community https://businessbloomer.com/club/
*/
add_filter( 'woocommerce_package_rates', 'businessbloomer_sort_shipping_methods', 100, 2 );
function businessbloomer_sort_shipping_methods( $rates, $package ) {
if ( ! is_array( $rates ) ) return $rates;
uasort( $rates, function ( $a, $b ) {
if ( $a == $b ) return 0;
return ( $a->cost < $b->cost ) ? -1 : 1;
} );
return $rates;
// NOTE: BEFORE TESTING EMPTY YOUR CART
}
This plugins shipping rates run through the same filter hooks that WooCommerce has to modify the output. The above is still a reliable solution, but again we recommend reaching out to a local developer to implement it.
Hello @lgs77717
We wanted to inform you that the returned Shipping Rates should be ordered from lowest to highest cost, with lowest at the top of the list. Let us know if you continue to run into issues with rates showing out of order and we may investigate further. Have a wonderful rest of your week!
HI, I noticed after this update it slowed the checkout page rendering way down. I down graded the plugin to 1.2.5 and its working much faster now.
Hello @lgs77717
A slowdown is likely to happen, but not consistently. The ShipStation API takes a good amount of time to retrieve rates whenever a zipcode is entered, but WooCommerce does a good job at caching those rates at checkout so repeat requests shouldn’t be making additional API calls.
You should be able to see this by enabling Debugging under Settings > Integration. The logs should be under WooCommerce > Status > Logs. Whenever you refresh your checkout you should see the postalcode/zipcode persist (pre-populate) to what you’ve entered previously. The logs should indicate if an API request is happening on every refresh. If so, this may indicate something is modifying the default WooCommerce caching functionality.
So in short, the ShipStation API calls are the biggest slowdown that is unfortunately out of my hands, but WooCommerce should be caching the returned rates and the shipping address information to prevent repeat API requests.