删除/隐藏添加到购物车消息的Woocommerce但保留/显示优惠券应用消息

时间:2016-01-06 23:56:00

标签: php wordpress woocommerce

我正在尝试删除或隐藏我的WooCommerce结帐页面顶部的添加到购物车消息(我已删除购物车页面,因此此消息显示在结帐页面上)。我尝试将其添加到我的CSS中:

.woocommerce-message {display: none;}. 

虽然这隐藏了我想要的添加到购物车消息,但它也隐藏了优惠券应用消息,我不想隐藏它。

接下来,我在functions.php文件中的Business Bloomer博客中尝试了此代码段:

// 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>';

}

这会隐藏文本,但应用于.woocommerce-message类的div的样式仍然可见,包括背景颜色,填充等等。所以我在页面顶部留下了一个矩形没有文字。

关于我如何完全隐藏.woocommerce-message div只是为了添加到购物车消息,而不是.woocommerce-messag div为优惠券应用消息或任何其他消息的任何想法将不胜感激!< / p>

5 个答案:

答案 0 :(得分:11)

这对我有用:

add_filter( 'wc_add_to_cart_message', 'remove_add_to_cart_message' );

function remove_add_to_cart_message() {
    return;
}

答案 1 :(得分:4)

我正在使用:

add_filter( 'wc_add_to_cart_message_html', '__return_null' );

答案 2 :(得分:0)

更新时间:18/05/2018请参阅bellmountain更简单的答案,了解正确的方法。

将此代码添加到主题functions.php文件中。它只会删除该消息。它应该只触发可能发生的页面。

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);

不要担心使用你尝试过的css。

答案 3 :(得分:0)

这应该可以隐藏添加到购物车消息中的产品

add_filter( 'wc_add_to_cart_message', 'remove_cart_message' );

function remove_cart_message() {
    return;
}

答案 4 :(得分:-1)

刚刚使用了以下内容并且工作正常:

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

希望这有帮助!