Este fragmento de código te permite organizar los métodos de envío disponibles en la página del carrito según sus costos. Por defecto, el código está configurado para mostrar los gastos de envío de menor a mayor costo. No obstante, si prefieres ordenarlos en sentido contrario, solo necesitas sustituir el texto ‘asc’ en la línea 5 por ‘desc’. ¡Así de fácil!
// Ordena los gastos de envío según su coste if ( in_array( 'woocommerce/woocommerce.php', get_option( 'active_plugins' ) ) ){ add_filter( 'woocommerce_package_rates' , 'sort_woocommerce_shipping_methods_by_cost', 10, 2 ); function sort_woocommerce_shipping_methods_by_cost( $rates, $package ) { $sort_from = 'asc'; // Indica aquí cómo quieres ordenar los gastos de envío. Si quieres mostrar primero los más baratos, usa 'asc' y si vas a mostrar primero los más caros, usa 'desc' if ( !$rates ) { return; } // Obtiene el listado de precios de gastos de envío disponibles $shipping_prices = array(); foreach( $rates as $rate ) { $shipping_prices[] = $rate->cost; } // Ordena los gastos de envío de menor a mayor if ( 'asc' == $sort_from ) { array_multisort( $shipping_prices, SORT_ASC, $rates ); } // Ordena los gastos de envío de mayor a menor if ( 'desc' == $sort_from ) { array_multisort( $shipping_prices, SORT_DESC, $rates ); } return $rates; } }