Ocultar mensaje añadido al carrito para productos en concreto

[…]


por

Si trabajas con WooCommerce verás que por defecto al añadir un producto al carrito aparece un mensaje en la parte superior indicando el nombre y con un botón para volver a la tienda o seguir comprando:

add to cart mensaje

En más de una ocasión, el cliente me ha pedido que se oculte ese mensaje, lo que puede hacerse fácilmente con el siguiente código.

function ocultar_wc_add_to_cart_message( $message, $product_id ) {
    return '';
};
add_filter( 'wc_add_to_cart_message', 'ocultar_wc_add_to_cart_message', 10, 2 );

Esta semana, además, me he visto con la necesidad de ocultar ese mismo mensaje de «se ha añadido a tu carrito», pero sólo para un producto en concreto. Ya que se trataba de una campaña específica que se promocionaba por medio de landing page o página de ventas externa que enlazaba con el checkout de la tienda directamente. Y para ese producto en concreto, no querían que apareciera nada más que pudiera distraer el proceso de la compra, simplemente la página de pago.

Si te encuentras en un caso parecido, puedes modificar la función anterior añadiendo un condicional para el producto o productos necesarios:

function ocultar_wc_add_to_cart_message( $message, $product_id ) {
if($product_id!=449) return $message;
else
return '';
};
add_filter( 'wc_add_to_cart_message', 'ocultar_wc_add_to_cart_message', 10, 2 );

En este caso, 449 es el ID del producto para el que no queremos que aparezca el mensaje de añadido al carrito, para el resto de productos se continuaría comportando igual.

Recuerda que este código, como siempre, debes añadirlo en el archivo functions.php de tu tema o en un plugin de snippets de código

¿Eres implementador o desarrollador WordPress?

En la Zona DPW encontrarás más recursos, tutoriales, plantillas, y una biblioteca de snippets para poder utilizar en tu día a día y ganar tiempo en tu trabajo:

ACCEDER AHORA

Comentarios

16 respuestas a «Ocultar mensaje añadido al carrito para productos en concreto»

  1. Avatar de CubeNode

    |

    Perfecto, funciona de maravilla 🙂 ¡Muchas gracias!

  2. Avatar de Glup

    |

    ¿y si solo quiero quitar el botón?
    Es decir, que salga el mensaje pero no salga el boton de «seguir comprando»

    1. Avatar de esther

      |

      Hola!
      Puedes cambiar el return »; por return ‘el texto que tu quieras’;
      Si no incluyes el botón en ese mensaje no aparecerá.

      Saludos,

  3. Avatar de ismael

    |

    hola quisiera saber como quitar en un producto especifico el precio q sale a lado dela foto no necesito que salga arriba sino ya en el totalizado pero solo de un producto especifico

    1. Avatar de esther

      |

      Hola Ismael! Creo que la forma más fácil sería ocultarlo por CSS buscando la clase de la etiqueta en concreto del precio y aplicándole display:none;

      Saludos!

  4. Avatar de JOSE URRIETA

    |

    Hola sirve perfectamente. ya no aparece la barra superior con el mensaje. pero si cancelan el producto manda la misma barra con otro mensaje de que el producto se elimino. desactiva una parte pero esa no la desactiva. como seria el caso? saludos y disculpen soy algo nuevo. saludos!

    1. Avatar de esther

      |

      Hola Jose,

      Pues tendría que mirarlo… si es para cualquier producto podrías hacerlo por CSS, pero para uno en concreto probaré a ver si encuentro cómo ocultar también esa notificación.
      Saludos!

  5. Avatar de Jose

    |

    Hola Esthe.

    Me puedes ayudar, cómo sería el código para añadir a Code Snippets, el cuál me permite elimnar el mensaje:
    «“Nombre del producto” eliminado. ¿Deshacer?»

    1. Avatar de esther

      |

      Hola Jose, este código te servirá:

      add_filter('woocommerce_cart_item_removed_notice_type', '__return_null');

      Saludos!

      1. Avatar de Jose

        |

        Hola Esther, donde pongo ese código? Explicación para novato porfa 🙂

        1. Avatar de esther

          |

          Hola Jose!

          Tienes dos opciones, usar un plugin como Code Snippets o acceder vía FTP y descargar el archivo functions.php del theme que tengas activado (/wp-content/themes/nombre-del-tema) y añadir el código al final. Lo ideal es trabajar con un child theme porque sino se perderán los cambios al actualizar el tema.

          Ojo que el archivo functions.php es muy importante y cualquier error hará que tu web falle, haz una copia antes siempre, y si no estás seguro de este paso, mejor empezar usando el plugin.

          Un saludo!

          1. Avatar de Matias Veron

            |

            Hola Esther, si lo quiero hacer desde Code Snippets, Como sería? Porque creo un nuevo fragmento de codigo, copio y pego lo que pusiste en el comentario de arriba para quitar el deshacer pero sigue igual. Que podria hacer para quitarlo? Porque ademas de eso se interpone con mi Header Main y es molesto visualmente y demasiado! Gracias de antemano 🙂

          2. Avatar de esther

            |

            Hola Matias,
            Si utilizas Code Snippets fíjate que el fragmento de código está activado. Por defecto cuando creas uno nuevo queda desactivado.
            Si sigue sin funcionar prueba a aumentar la prioridad, para ver si está interfiriendo otro código de algún plugin o theme.

  6. Avatar de Sol

    |

    Muchas gracias! Logre borrar el mensaje por cliente ftp con el primer codigo!

  7. Avatar de Antonio Luna

    |

    Hola, como puedo editar los estilos para este tipo de mensajes!

    1. Avatar de esther

      |

      Hola Antonio,
      Con CSS, revisando el inspector de código del navegador, puedes buscar los estilos utilizados por WooCommerce para estos mensajes.
      La clase básica es .woocommerce-message, pero luego hay ajustes según el tipo de mensaje (.woocommerce-info, .woocommerce-error…)
      A partir de ahí es cuestión de ir probando estilos según lo que necesites.

      Saludos!