Función de añadir al carrito de WooCommerce programáticamente

¿Estás buscando un Función añadir al carrito de WooCommerce que le permite mejorar la experiencia del cliente y aumentar sus ventas? ¡Hoy es tu día de suerte porque lo acabas de encontrar!

Ya hemos visto algunos de los mejores temas y complementos principales para su sitio web de comercio electrónico, pero si no tiene ganas de descargar o comprar nada, hay algunas otras cosas que puede hacer por su cuenta para mejorar su tienda.

Añadir al carrito función programáticamente en WooCommerce

En esta publicación, aprenderá cómo aplicar un «Añadir al carrito» funcionar programáticamente utilizando un gancho de WordPress para que los usuarios puedan encontrar fácilmente los productos que desean en la caja. Esto puede resultar útil en varias situaciones:

  • Cuando regalas productos
  • Ofrecer un producto gratis cuando los clientes compran algo
  • En las tiendas de un solo producto, algunos clientes ni siquiera necesitarán agregar nada al carrito. Como el producto se agregará al carrito cuando los usuarios vayan a pagar, ya estará allí.

Entonces, ahora que sabemos cuándo usarlo, echemos un vistazo al script de esta función de agregar al carrito de WooCommerce:

add_action( 'template_redirect', 'quadlayers_add_to_cart_function' );

function quadlayers_add_to_cart_function () {

    $product_id = 1326;

    if ( WC()->cart->get_cart_contents_count() == 0 ) {

        WC()->cart->add_to_cart( $product_id );

    }

}

Como puede ver, es un guión muy simple. Desglosemos y analicemos cada parte:

El gancho

add_action( 'template_redirect', 'quadlayers_add_to_cart_function' );

Aquí estamos usando el template_redirect gancho proporcionado por WordPress. Este enlace de acción se ejecuta antes de que se cargue la plantilla de una página. Como la página de pago tiene una plantilla, este gancho nos permite agregar algo de lógica antes de que se cargue.

Si no está familiarizado con los ganchos, esta guía es un excelente punto de partida. Y para profundizar en los ganchos de pago, le recomendamos que eche un vistazo a este tutorial con ejemplos prácticos.

La función de añadir al carrito de WooCommerce

$product_id = 1326;

De hecho, el $ product_id La variable no es completamente necesaria, ya que puede ingresar la identificación directamente así:

WC()->cart->add_to_cart( 1326 );

Sin embargo, si desea agregar una lógica más compleja, deberá usar variables. Además, con el $ product_id variable, el código es más fácil de entender y ayuda a mantenerlo organizado, algo muy importante cuando se trata de largas líneas de código.

if ( WC()->cart->get_cart_contents_count() == 0 )

Luego, verificamos si el carrito está vacío usando un Si() condicional. De esta forma, nos aseguramos de no cambiar el contenido del carrito del usuario si ya ha incluido un producto.

WC()->cart->add_to_cart( $product_id );

Después de eso, agregamos el WC () carrito-> add_to_cart () función en el condicional. Esto es lo que hace el trabajo. La función nativa de WooCommerce agregar al carrito siempre está precedida por BAÑO(), por lo que para tener un código limpio y organizado, debe escribirlo después BAÑO() como sigue:

WC()->add_to_cart

Finalmente, solo necesitamos especificar el id del producto y ¡voilá! ¡Su función de agregar al carrito de WooCommerce estará lista para usar!

¿Cómo agregar más productos a la función agregar al carrito?

Si tiene una tienda en línea, es probable que venda varios productos, por lo que podrá agregarlos a la función de agregar al carrito. Pan comido. Solo necesita copiar y pegar la misma función de agregar al carrito de WooCommerce cambiando la identificación del producto. Por ejemplo:

WC()->cart->add_to_cart( 1 );

WC()->cart->add_to_cart( 3 );

WC()->cart->add_to_cart( 2 );

WC()->cart->add_to_cart( 6 );

Otra opción es usar variables:

$product_id_1 = 13;

$product_id_2 = 26;

WC()->cart->add_to_cart( $product_id_1);

WC()->cart->add_to_cart( $product_id_2);

¿Cómo agregar la cantidad de producto?

Ahora, ¿qué sucede si necesita agregar el mismo producto varias veces? Simplemente modifique el BAÑO() funcionan de la siguiente manera:

WC()->cart->add_to_cart( $product_id_1, 5 );

En el ejemplo anterior, agregará el producto con id_1 cinco veces.

¿Cómo agregar producto solo una vez?

Otro gran truco que puede ser muy útil si desea incluir el producto en el carrito solo una vez es usar el «find_product_in_cart ()”Función antes de la ejecución.

Con esta función podemos comprobar si el producto ya está en el carrito mediante un Si() condicional. De esta manera, nos aseguramos de no agregar el producto dos veces si el usuario abandona la página de pago y regresa más tarde.

add_action( 'template_redirect', 'quadlayers_add_to_cart_programmatically' );
   
function quadlayers_add_to_cart_programmatically() {
 
   $product_id = 1326;
 
   $product_cart_id = WC()->cart->generate_cart_id( $product_id );
   
   if(!WC()->cart->find_product_in_cart( $product_cart_id )) {
       
       WC()->cart->add_to_cart( $product_id);
   }
 
}

¿Cómo agregar un aviso después de la adición?

Finalmente, echemos un vistazo a cómo agregar un aviso después de una adición:

add_action( 'template_redirect', 'quadlayers_add_to_cart_programmatically' );
   
function quadlayers_add_to_cart_programmatically() {
 
   $product_id = 1326;
 
   $product_cart_id = WC()->cart->generate_cart_id( $product_id );
   
   if(!WC()->cart->find_product_in_cart( $product_cart_id )) {
       WC()->cart->add_to_cart( $product_id);
       wc_print_notice( 'Product ID ' . $product_id . ' is in the Cart!', 'notice' );
   }
 
}

¡Eso es, chicos! A estas alturas deberías tener un La función agregar al carrito de WooCommerce está en funcionamiento en su tienda. Háganos saber si tiene alguna pregunta y comparta su experiencia con nosotros en la sección de comentarios a continuación.