WooCommerce: ordene los costos de envío de menor a mayor

Ordene los costos de envío de menor a mayor en WooCommerce

Un cliente tenía varias tarifas de envío en la página del carrito generadas automáticamente por FedEx, USPS, UPS y complementos similares a través de su API. El problema era que querían clasificarlos por precio en lugar de agruparlos por proveedor.

Afortunadamente, con una simple función PHP "uasort", es posible tomar la matriz de tarifas de envío y ordenarla por cantidad antes de devolverla a la pantalla. Si no sabes PHP, ¡simplemente copia/pega!

Ordene los costos de envío de menor a mayor en WooCommerce
Ordene los costos de envío de menor a mayor en WooCommerce

Fragmento de código de PHP: Ordenar tarifas de envío por precio @ WooCommerce Cart/Checkout

/**
 * @snippet       Sort Shipping Rates by Price - WooCommerce
 * @how-to        Get CustomizeWoo.com FREE
 * @author        Rodolfo Melogli
 * @compatible    Woo 3.8
 * @donate $9     https://businessbloomer.com/bloomer-armada/
 */
  
add_filter( 'woocommerce_package_rates' , 'businessbloomer_sort_shipping_methods', 10, 2 );
   
function businessbloomer_sort_shipping_methods( $rates, $package ) {
    
    if ( empty( $rates ) ) return;
   
    if ( ! is_array( $rates ) ) return;
    
    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
       
}

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir