En muchas tiendas online desarrolladas con WooCommerce, puede ser necesario ofrecer opciones de envío más específicas, como “Envío rápido”, “Entrega en el mismo día”, o incluso envíos personalizados para zonas geográficas concretas.
WooCommerce permite extender los métodos de envío a través de acciones como woocommerce_flat_rate_shipping_add_rate, la cual nos permite duplicar una tarifa de tipo tarifa plana (flat_rate) y personalizar su etiqueta, coste y condiciones.
¿Dónde añadir el código?
Este fragmento debes colocarlo en el archivo functions.php del tema hijo activo o dentro de un plugin personalizado si prefieres mantener la funcionalidad desacoplada del tema.
// Agregar un método de envío personalizado basado en tarifa plana
add_action('woocommerce_flat_rate_shipping_add_rate', 'agregar_envio_rapido', 10, 2);
function agregar_envio_rapido($method, $rate) {
$nueva_tarifa = $rate;
$nueva_tarifa['id'] .= ':envio_rapido'; // ID único del método
$nueva_tarifa['label'] = 'Envío rápido'; // Nombre visible al cliente
$nueva_tarifa['cost'] += 10; // Costo adicional (en la misma moneda)
$method->add_rate($nueva_tarifa);
}