cyxmedia
9/10/2017 - 2:34 PM

Mostrar “el producto ya está en el carrito” en lugar del botón de “añadir al carrito”

Si un visitante ya ha añadido un producto específico a su carrito, es una genial idea notificarle que ya lo ha comprado con un mensaje en el botón de compra. Aquí tienes el snippet para llevarlo a cabo. Por supuesto, añádelo en el fichero functions.php de tu theme.

add_filter( 'woocommerce_product_single_add_to_cart_text', 'woo_custom_cart_button_text' );
function woo_custom_cart_button_text() {
	global $woocommerce;
	foreach($woocommerce->cart->get_cart() as $cart_item_key => $values ) {
		$_product = $values['data'];
 
		if( get_the_ID() == $_product->id ) {
			return __('Ya esta en el carrito - ¿Añadirlo otra vez?', 'woocommerce');
		}
	}
	return __('Añadir al carrito', 'woocommerce');
}
 
add_filter( 'add_to_cart_text', 'woo_archive_custom_cart_button_text' );
function woo_archive_custom_cart_button_text() {
	global $woocommerce;
	foreach($woocommerce->cart->get_cart() as $cart_item_key => $values ) {
		$_product = $values['data'];
		if( get_the_ID() == $_product->id ) {
			return __('Ya esta en el carrito', 'woocommerce');
		}
	}
	return __('Añadir al carrito', 'woocommerce');
}