Remove/Hide Woocommerce Added to Cart Message but Keep/Display Coupon Applied Message

I’m trying to remove or hide the added to cart message at the top of my WooCommerce checkout page (I have removed the cart page so this message is showing up on the checkout page). I tried adding this to my CSS:

.woocommerce-message {display: none;}. 

Although this hides the added to cart message as I want it to, it also hides the coupon applied message, which I do not want hidden.

Read More

Next I tried this code snippet from the Business Bloomer blog in the functions.php file:

// Removes Product Successfully Added to Cart

add_filter( 'wc_add_to_cart_message', 'custom_add_to_cart_message' );

function custom_add_to_cart_message() {

echo '<style>.woocommerce-message {display: none !important;}</style>';

}

This hides the text, but the styles applied to the div with the class of .woocommerce-message are still visible, including background-color, padding etc. So I’m left with a rectangle at the top of my page with no text in it.

Any thoughts on how I can completely hide the .woocommerce-message div just for the added to cart message, but not the .woocommerce-message div for the coupon applied message or any other messages would be appreciated!

Related posts

5 comments

  1. this worked for me:

    add_filter( 'wc_add_to_cart_message', 'remove_add_to_cart_message' );
    
    function remove_add_to_cart_message() {
        return;
    }
    
  2. Update: 18/05/2018 Please refer to bellmountain’s much simpler answer for the correct way to do this.

    Add this code to your themes functions.php file. It will remove only that message. It should trigger on just the pages where it is likely to occur.

    function remove_added_to_cart_notice()
    {
        $notices = WC()->session->get('wc_notices', array());
    
        foreach( $notices['success'] as $key => &$notice){
            if( strpos( $notice, 'has been added' ) !== false){
                $added_to_cart_key = $key;
                break;
            }
        }
        unset( $notices['success'][$added_to_cart_key] );
    
        WC()->session->set('wc_notices', $notices);
    }
    add_action('woocommerce_before_single_product','remove_added_to_cart_notice',1);
    add_action('woocommerce_shortcode_before_product_cat_loop','remove_added_to_cart_notice',1);
    add_action('woocommerce_before_shop_loop','remove_added_to_cart_notice',1);
    

    Don’t worry about using that css you’ve tried.

  3. I`m using this:

    add_filter( 'wc_add_to_cart_message_html', '__return_null' );
    
  4. This should work to hide the product added to cart message

    add_filter( 'wc_add_to_cart_message', 'remove_cart_message' );
    
    function remove_cart_message() {
        return;
    }
    
  5. Just used the following and it worked fine:

    div.woocommerce-message {
        display: none !important;
    }
    

    Hope this helps!

Comments are closed.