El texto del botón Añadir al carrito no sólo se puede personalizar en función del tipo de producto de que se trate y de en qué página se muestre (en la ficha de producto o en una página de archivo, como la tienda, la de categoría o los resultados de búsqueda), sino que el texto del botón también puede personalizarse en función de si el producto ya está en el carrito.
WooCommerce, sin embargo, no incluye opciones para ello, igual que no incluye opciones para cambiar el texto del botón. Si fuera así, mi plugin Add to Cart Button Custom Text (que puedes encontrar gratuitamente en el repositorio oficial de WordPress) no tendría sentido de ser. Por eso en este artículo vamos a ver de qué forma podemos cambiar el texto del botón Añadir al carrito cuando el producto ya está en el carro.
Tabla de contenidos
Avisar cuando un producto está en el carrito mediante código
Como es costumbre aquí, voy a dar dos soluciones: una mediante código y la otra utilizando un plugin. El código es muy sencillo, y lo puedes ver a continuación:
function ejr_ya_carrito_ficha () {
global $woocommerce;
foreach ($woocommerce -> cart -> get_cart () as $cart_item_key => $values ) {
$_product = $values ['data'];
if (get_the_ID () == $_product -> id)
return 'Ya está en el carrito';
}
return __('Add to cart', 'woocommerce');
}
add_filter ('woocommerce_product_single_add_to_cart_text', 'ejr_ya_carrito_ficha');
function ejr_ya_carrito_archivo () {
global $woocommerce;
foreach($woocommerce -> cart -> get_cart () as $cart_item_key => $values ) {
$_product = $values ['data'];
if (get_the_ID () == $_product -> id )
return 'Ya está en el carrito';
}
return __('Add to cart', 'woocommerce');
}
add_filter ('woocommerce_product_add_to_cart_text', 'ejr_ya_carrito_archivo');
¿Dónde tienes que poner este código? Pues como sabes, el archivo functions.php es una opción, aunque no la mejor en realidad. Puedes ver las alternativas que tienes, y las ventajas e inconvenientes de cada una, en este artículo:
Como ves el código tiene dos partes. La primera cambia el texto del botón Añadir al carrito en la ficha de producto, y la segunda lo hace en las páginas de archivo, y puedes cambiar los textos, donde dice Ya está en el carrito, por los que prefieras (siempre con cuidado de no quitar comas, puntos y coma, comillas, etcétera).
Sin embargo ese código sólo funciona para productos simples. Evidentemente con los productos externos o agrupados no tiene sentido una funcionalidad así, ya que los productos externos no se añaden al carrito, y los agrupados añaden uno o varios productos simples. Pero los productos variables se quedan fuera.
Ahora bien, con el plugin que vemos a continuación también podrás personalizar el texto de los productos variables que ya están en el carrito.
Plugin para avisar de que un producto ya está en el carrito
Con el plugin Productos en el carrito puedes personalizar el texto del botón añadir al carrito tanto para productos simples como para productos variables (como decía más arriba, para productos externos y productos agrupados no tendría sentido por la propia naturaleza de estos productos), pudiendo configurar un texto para las páginas de archivo y otro diferente para la ficha de producto.
Al activarlo encontrarás una nueva pantalla de opciones en WooCommerce > Ajustes > Productos > Productos en el carrito donde podrás configurar, de forma independiente, un texto para el botón Añadir al carrito para:
- Productos simples que ya están en el carrito, en la ficha de producto
- Productos simples que ya están en el carrito, en las páginas de archivo (tienda, categorías, resultados de búsqueda…)
- Productos variables que ya están en el carrito, en la ficha de producto
- Productos variables que ya están en el carrito, en las páginas de archivo
Además, el plugin es totalmente compatible (no podía ser de otra forma) con mi plugin gratuito que está en el repositorio de WordPress, Add to Cart Button Custom Text, que permite personalizar el texto del botón Añadir al carrito.
Así puedes elegir el texto para el botón Añadir al carrito en cualquier producto (simple, variable, externo, agrupado o reservable), tanto en la ficha de producto como en las páginas de archivo, y otro texto distinto para los que ya están en el carrito (simples o variables), cambiando también en la ficha de producto y en las páginas de archivo.
Vídeo: personalizar el texto del botón Añadir al carrito en productos que ya están en el carrito
Para que puedas ver el plugin en acción, aquí te dejo un corto vídeo mostrando su funcionamiento: