• Resuelto geiserestudio

    (@geiserestudio)


    Buenas,
    Estoy configurando gastos de envío para dos zonas en concreto:
    1. España-Península (gastos de envío fijos 7€)
    2. España-Islas Canarias (gastos de envío fijos 7€)
    foto 1

    El problema viene cuando quiero poner gastos de envío en concreto para esas dos zonas. Dentro de cada zona he creado otras opciones de envío que sean las de “Envío gratuito” y estos envíos son diferentes, para Península a partir de 50€ y para Canarias a partir e 30€.
    foto 2
    Cuando hago un intento de compra, me reconoce la zona como gratis pero igualmente me salen los gastos fijos. Entonces no entiendo qué estoy haciendo mal.
    foto 3

Viendo 2 respuestas - de la 1 a la 2 (de un total de 2)
  • Moderador LGrusin

    (@lgrusin)

    Igual este debate te ayuda a ocultar el gasto de envío fijo.
    https://es.wordpress.org/support/topic/ocultar-gastos-de-envio/

    Iniciador del debate geiserestudio

    (@geiserestudio)

    Hola,

    Acabo de encontrar la solución, por si a alguien le sirve para futuros problemas, hay que hacer lo siguiente:

    1. En zonas de envio:
    Hay que poner las zonas a las que vas a enviar. En mi caso, España-peninsular e Islas Canarias.
    2. Luego en cada zona añadir las opciones de envío por orden. En mi caso, yo tenía dos reglas, una era que a partir de 30€ los gastos de envío en Canarias son gratis y en península a partir de 50€. Esto lo creé primero. Luego puse el precio fijo de 7€ para ambas zonas. Así woocoommerce me identifica primero la regla del envío gratis si se da y si no aplica la otra.

    Llegué a la conclusión leyendo un artículo del support de wordpress donde hablaba sobre las jerarquías. También añadí este código en el php functions para que me muestre los envíos gratis solo sin el precio fijo.
    /**
    * Hide shipping rates when free shipping is available.
    * Updated to support WooCommerce 2.6 Shipping Zones.
    *
    * @param array $rates Array of rates found for the package.
    * @return array
    */
    function my_hide_shipping_when_free_is_available( $rates ) {
    $free = array();
    foreach ( $rates as $rate_id => $rate ) {
    if ( ‘free_shipping’ === $rate->method_id ) {
    $free[ $rate_id ] = $rate;
    break;
    }
    }
    return ! empty( $free ) ? $free : $rates;
    }
    add_filter( ‘woocommerce_package_rates’, ‘my_hide_shipping_when_free_is_available’, 100 );

Viendo 2 respuestas - de la 1 a la 2 (de un total de 2)
  • El debate ‘Problemas para configurar gastos de envio WooCommerce’ está cerrado a nuevas respuestas.