Prevenir que se añadan determinados productos al carrito

WebProgramacion > Recursos sobre informática y tecnología > Programacion > WordPress > Prevenir que se añadan determinados productos al carrito
Prevenir que se añadan determinados productos al carrito
Prevenir que se añadan determinados productos al carrito

Con el siguiente pequeño fragmento de código, vamos a poder evitar que un producto determinado se añada al carrito en WooCommerce.

¿Cuándo nos puede interesar evitar que se añada un producto al carrito?

Por ejemplo, cuando hay determinados productos que hay que preguntar por el stock previamente.

Pasos para la implementación

Simplemente tenemos que hacer dos pasos:

  1. Crear un campo personalizado con Advanced Custom Fields, llamado desactivar_carrito de tipo true / false
  2. Añadir el siguiente código en nuestro fichero functions.php del tema activado

El código del punto 2 es el siguiente:

add_filter( 'woocommerce_add_to_cart_validation', 'desactivar_carrito', 20, 3 );
function desactivar_carrito( $passed, $product_id, $quantity) {
  if (get_field("desactivar_carrito", $product_id))
  {
	wc_add_notice( __('Este producto no puede ser añadido al carrito. Debe consultar disponibilidad previamente'), 'error' );
	$passed = false;
  }
  else
  {
	$passed = true;
  }
  return $passed;
}

De esta forma, cuando un usuario intente añadir un producto al carrito, si no se puede añadir, le mostrará un mensaje de error.

Deja tu opinión

la política de privacidad que declaro haber leído.

(*) Campos necesarios. El correo electrónico no será público.