Last active
May 10, 2020 11:56
-
-
Save Oscar-Abad-Folgueira/6fba46d1491a25196949ec0384417168 to your computer and use it in GitHub Desktop.
Mostrar avisos en el carrito de WooCommerce para que el cliente compre 3 productos y obtenga producto regalo
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* @snippet Mostrar avisos en el carrito de WooCommerce para que el cliente compre 3 productos y obtenga producto regalo | |
* @author Oscar Abad Folgueira | |
* @author_url https://www.oscarabadfolgueira.com | |
* @snippet_url https://www.oscarabadfolgueira.com/como-crear-avisos-personalizados-en-woocommerce/ | |
*/ | |
add_action( 'template_redirect', 'aviso_compra3' ); | |
function aviso_compra3() { | |
$producto_regalo_id = 80; // id del producto regalo | |
$producto_regalo_carrito_id = WC()->cart->generate_cart_id( $producto_regalo_id ); | |
$en_carrito_producto_regalo = WC()->cart->find_product_in_cart( $producto_regalo_carrito_id ); | |
$productos_carrito = WC()->cart->get_cart_contents_count(); // obtener número de productos en carrito | |
/* Comprobar si el producto regalo está en el carrito por si acaso */ | |
if ( !$en_carrito_producto_regalo ){ // El producto regalo no está en el carrito | |
if ( $productos_carrito == 2 ){ // Si hay 2 productos en el carrito muestra mensaje de aviso | |
wc_add_notice( 'Compra un producto más para obtener nuestro Regalo', 'notice' ); | |
} | |
if ( $productos_carrito == 3 ){ // Si hay 3 productos en el carrito, añade el producto regalo | |
WC()->cart->add_to_cart( $producto_regalo_id ); | |
} | |
} else { // El producto regalo si está en el carrito | |
if ( $productos_carrito <= 3 ){ // Si hay 3 o menos productos en el carrito --> Quitar el producto regalo | |
WC()->cart->remove_cart_item( $producto_regalo_carrito_id ); | |
wc_add_notice( 'Has perdido el Producto de regalo', 'error' ); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment