// Función para generar el mensaje de WhatsApp con los productos en el carrito y datos del cliente
function generar_mensaje_whatsapp() {
// Obtener productos en el carrito
$productos_carrito = WC()->cart->get_cart();
// Obtener datos de mi cuenta (checkout)
$nombre_cliente = WC()->checkout()->get_value('billing_first_name');
$apellidos_cliente = WC()->checkout()->get_value('billing_last_name');
$email_cliente = WC()->checkout()->get_value('billing_email');
$empresa_cliente = WC()->checkout()->get_value('billing_company'); // Nuevo campo
$pais_cliente = WC()->checkout()->get_value('billing_country');
$provincia_cliente = WC()->checkout()->get_value('billing_state');
$ciudad_cliente = WC()->checkout()->get_value('billing_city');
$direccion_cliente = WC()->checkout()->get_value('billing_address_1');
$codigo_postal_cliente = WC()->checkout()->get_value('billing_postcode');
// Combinar nombre y apellidos
$nombre_completo_cliente = $nombre_cliente . ' ' . $apellidos_cliente;
// Inicializar el mensaje
$mensaje = "¡Hola! Quiero realizar un pedido:\n";
$mensaje .= "*DATOS DE CLIENTE*:\n";
$mensaje .= "Cliente: $nombre_completo_cliente\n";
$mensaje .= "Correo electrónico: $email_cliente\n";
$mensaje .= "Empresa: $empresa_cliente\n"; // Nuevo campo
$mensaje .= "País: $pais_cliente\n";
$mensaje .= "Provincia: $provincia_cliente\n";
$mensaje .= "Ciudad: $ciudad_cliente\n";
$mensaje .= "Dirección: $direccion_cliente\n";
$mensaje .= "Código postal: $codigo_postal_cliente\n\n";
$mensaje .= "*TIPOS DE ENVIOS*:\n";
$mensaje .= "Servientrega\n\n";
$mensaje .= "*FORMAS DE PAGO*:\n";
$mensaje .= "Transferencia bancaria\n";
$mensaje .= "Consultar datos por WhatsApp\n\n";
// Verificar si el carrito tiene productos
$mensaje .= "*ITEMS A PEDIR*:\n";
$total = 0;
if (!empty($productos_carrito)) {
foreach ($productos_carrito as $producto) {
$nombre_producto = strip_tags($producto['data']->get_name());
$cantidad = $producto['quantity'];
$precio = wc_get_price_to_display($producto['data']); // Obtener el precio numérico
$precio_formateado = html_entity_decode(strip_tags(wc_price($precio))); // Decodificar entidades HTML
$url_producto = esc_url(get_permalink($producto['product_id']));
$total += $precio * $cantidad;
// Agregar detalles del producto al mensaje con formato Markdown
$mensaje .= "$cantidad x [$nombre_producto] - $precio_formateado\n";
$mensaje .= "($url_producto)\n\n";
}
$mensaje .= "*UNIDADES TOTALES*:\n";
$mensaje .= WC()->cart->get_cart_contents_count() . "\n\n";
$mensaje .= "*TOTAL*:\n";
$mensaje .= html_entity_decode(strip_tags(wc_price($total))) . "\n"; // Decodificar entidades HTML
} else {
// Si el carrito está vacío, agregar un mensaje indicando esto
$mensaje .= "Carrito vacío\n";
}
echo nl2br($mensaje);
return rawurlencode($mensaje);
}
// Eliminar el botón "Realizar pedido" y agregar el botón de WhatsApp en el checkout
function agregar_boton_whatsapp_checkout() {
$whatsapp_numero = '+593978907442'; // Reemplaza con tu número de WhatsApp, incluyendo el prefijo internacional
$mensaje_whatsapp = generar_mensaje_whatsapp();
// Ruta de la imagen del icono de WhatsApp (ajústala según la ubicación de tu archivo de imagen)
$icono_whatsapp_url = 'https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggzs9vLsf4gZGX_Ks-xowgSvTfOhULhr34yMuLrUiPDFN3NeW8Ay_ikVi2nC-36zMgCwfN8hIXFebQUOqfGA2UZC__UeugC77LuC2fbHtkrhHf9Kx0ayDtWpAmbhTk79Nsm26_f029eKkdgIXEJRAFrTksq2tNAWsv8NSs5bG0Qokio9eCHDpgOiozdali/s201/whatsapp.png';
// Agregar botón de WhatsApp
echo '<a href="#" onclick="abrirWhatsApp(\'' . $whatsapp_numero . '\', \'' . $mensaje_whatsapp . '\')" class="button boton-whatsapp">';
echo '<img src="' . $icono_whatsapp_url . '" alt="WhatsApp Icono" class="whatsapp-icon">'; // Agrega la etiqueta de imagen
echo 'Comunícate y Realiza el pedido Directo por WhatsApp</a>';
// Agregar script JavaScript
echo '<script>
function abrirWhatsApp(numero, mensaje) {
var mensajeDecodificado = decodeURIComponent(mensaje.replace(/%2F/g, "/").replace(/%0A/g, "\n").replace(/%20/g, " "));
var urlWhatsApp = "https://api.whatsapp.com/send?phone=" + encodeURIComponent(numero) + "&text=" + encodeURIComponent(mensajeDecodificado);
window.open(urlWhatsApp, "_blank");
}
</script>';
}
// Agregar el botón de WhatsApp en el checkout
add_action('get_footer', 'agregar_boton_whatsapp_checkout', 20);
// Ocultar el botón "Realizar pedido" con CSS
function ocultar_boton_place_order_css() {
// Verifica si estás en la página de pago
if (is_checkout()) {
echo '<style>#place_order { display: none !important; }</style>';
}
}
// Agrega el filtro para ejecutar la función en el hook de WooCommerce
add_action('get_footer', 'ocultar_boton_place_order_css');
// Función para agregar estilos CSS en línea
function agregar_estilos_css() {
?>
<style>
.boton-whatsapp {
display: flex;
align-items: center;
}
.whatsapp-icon {
margin-right: 5px; /* Ajusta el margen según sea necesario */
width: 20px;
height: auto;
}
</style>
<?php
}
// Agregar la función a través del hook wp_footer
add_action('get_footer', 'agregar_estilos_css');
No hay comentarios:
Publicar un comentario
Gracias por su mensaje, en breve le atenderemos.