Muestra los gastos de envío ordenados según su coste

Gracias a este snippet podrás mostrar los gastos de envío ordenados según coste. Se mostrarán de manera ordenada por precio los métodos de envío disponibles. Imaginaros que tenéis dos tipos de envío, uno de 4 euros en 48H. y otro de 5,90 en 24 H. De esta manera el cliente podrá elegir que método de envío elegir.

Por defecto se listan de manera ascendiente de menor a mayor coste. Si queréis que sea al revés cambia el texto «asc» por «desc» de la línea 5 de código y a funcionar.

 

Snippet que muestra los gastos de envío ordenados según su coste

// 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;
	}
}
Ver más tutoriales de: WooCommerce

Tutoriales relaccionados

¿Necesitas un desarrollo a medida?

Login para aceder

David Lanau Consultor de Marketing Online
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.