Ejemplo de como modificar gastos de envío en wordpress según la cantidad de items que tenemos en el carrito, muy útil cuando en la tienda se vende productos con cierto peso y que los gastos varían mucho a cuando se compran lotes de productos. También incluye envío gratis a partir de cierto total de compra.
Editado
//Gastos de envío personalizados or cantidad de productos
add_action('woocommerce_cart_calculate_fees', 'envio_por_cantidad_de_items');
function envio_por_cantidad_de_items() {
if (is_admin() && !defined('DOING_AJAX')) return;
WC()->shipping->reset_shipping();
// Evitar que se dupliquen tarifas
if (!empty(WC()->cart->fees_api()->get_fees())) return;
$items_count = WC()->cart->get_cart_contents_count();
$cart_total = WC()->cart->get_subtotal(); // subtotal sin descuentos
$costo_envio = 0;
$monto_envio_gratis = 100;
// Envío gratis por monto
if ($cart_total >= $monto_envio_gratis) {
WC()->cart->add_fee('Envío Gratis', 0);
return;
}
// Costos por cantidad
if ($items_count >= 1 && $items_count <= 3) $costo_envio = 5.10;
elseif ($items_count >= 4 && $items_count <= 6) $costo_envio = 10.20;
if ($costo_envio > 0) {
WC()->cart->add_fee('Gastos de envío', $costo_envio);
}
}Editado
2
Puntos
Puntos
190
Visitas
Visitas
1
Resp
Resp
Por alber hace 1 mes
Admin
Respuesta #1
genial, estaría bien que publicaras como configurar zonas de envío para que en el resumen del carrito final no aparezcan las zonas donde no se envía
0
Puntos
Puntos
Por proelite hace 1 mes
Novice