Agregar múltiples productos al carrito por URL en WooCommerce

WooCommerce es una herramienta poderosa para crear tiendas en línea, pero a veces las funcionalidades por defecto no son suficientes para las necesidades específicas de un negocio. Un ejemplo de esto es la posibilidad de agregar múltiples productos al carrito usando un solo enlace. Por defecto, WooCommerce permite agregar solo un producto a la vez utilizando la estructura ?add-to-cart=ID. En este artículo, te mostraremos cómo modificar esto para aceptar múltiples productos separados por comas, como ?add-to-cart=1,2,3.

 

Crear una función personalizada

Primero, vamos a crear una función personalizada que maneje la lógica de agregar múltiples productos al carrito. Esta función tomará los IDs de los productos desde la URL, los separará y los agregará al carrito, siempre y cuando la variable contenga comas.

<?php
function addMultipleProductsToCart() {
    if ( isset($_REQUEST['add-to-cart']) ) {
        $addToCartParam = $_REQUEST['add-to-cart'];
        
        // Verificar si el parámetro contiene comas
        if ( strpos($addToCartParam, ',') !== false ) {
            $productIDs = explode(',', $addToCartParam);

            foreach ( $productIDs as $productID ) {
                $productID = absint( $productID ); // Asegurarse de que el ID del producto sea un entero positivo

                if ( $productID > 0 ) {
                    WC()->cart->add_to_cart( $productID );
                }
            }

            // Redirigir al carrito después de agregar los productos
            wp_safe_redirect( wc_get_cart_url() );
            exit;
        }
    }
}
add_action( 'init', 'addMultipleProductsToCart' );

 

Abre el archivo functions.php de tu tema hijo y pega el código anterior al final del archivo o también podes instalar algún plugin del tipo snippet PHP y ahi podrás agregarlo.

Probar la funcionalidad

Para probar que todo funciona correctamente, abre tu navegador y usa una URL similar a esta:

https://tusitio.com/?add-to-cart=1,2,3

 

Esto debería agregar los productos con los IDs 1, 2 y 3 al carrito y redirigir al usuario a la página del carrito.

Con estos sencillos pasos, puedes extender la funcionalidad de WooCommerce para permitir que los usuarios agreguen múltiples productos al carrito usando un solo enlace. Esta mejora puede ser especialmente útil en situaciones donde desees ofrecer paquetes de productos o facilitar el proceso de compra para tus clientes.

Esperamos que este artículo te haya sido útil. Si tienes alguna duda o necesitas más asistencia, no dudes en dejar un comentario.

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Back to Top
0
Would love your thoughts, please comment.x
()
x