删除woocommerce购物车消息

时间:2019-06-29 19:13:24

标签: php wordpress woocommerce

我需要删除从购物车中删除产品时显示的woocommerce购物车消息(“ ...已从购物车中删除。撤消?”)

我尝试了以下代码:WooCommerce - unset "<product> removed notice…" on cart page

但是它不起作用,消息仍然显示。有谁知道如何隐藏它?

5 个答案:

答案 0 :(得分:0)

您可以使用一些钩子在主题functions.php文件中使用覆盖通知的方式来执行此操作。请尝试此代码,并检查其是否有效。

add_filter( 'woocommerce_cart_item_removed_title', 'removed_from_cart_title', 12, 2);
function removed_from_cart_title( $message, $cart_item ) {
    $product = wc_get_product( $cart_item['product_id'] );

    if( $product )
    $message = sprintf( __(''), $product->get_name() );
    return $message;
    }
add_filter('gettext', 'cart_undo_translation', 35, 3 );
function cart_undo_translation( $translation, $text, $domain ) {

    if( $text === 'Undo?' ) {
    $translation =  __( '', $domain );
    }
return $translation;
}`

答案 1 :(得分:0)

尝试将这一行代码添加到主题的function.php文件中。

add_filter( 'woocommerce_cart_item_removed_title', '__return_null' );

答案 2 :(得分:0)

我已经尝试过了,对我来说很好。可能对您有帮助。将此代码添加到子主题的functions.php中:

add_action( 'template_redirect', 'null_removed_cart_item_message'  );
function null_removed_cart_item_message() {
    // Only on cart page
    if( ! is_cart() ) return;
    // Get the WC notices array stored in WC_Session
    $wc_notices = (array) WC()->session->get( 'wc_notices' );
    $found      = false; // Initializing
    // Check that we have at least one "success" notice type
    if( isset($wc_notices['success']) && sizeof($wc_notices['success']) ) {
        // Loop through "success" notices type
        foreach( $wc_notices['success'] as $key => $wc_notice ) {
            // Remove notices that contain the word "removed" from the array
            if ( strpos($wc_notice, 'removed') !== false ) {
                unset($wc_notices['success']);
                $found = true;
            }
        }
    }
    if( $found ) {
        // Set back the notices array to WC_Session
        WC()->session->set( 'wc_notices', $wc_notices );
    }
}

答案 3 :(得分:0)

这对我有用。

add_filter('wc_add_to_cart_message_html','__return_null');

答案 4 :(得分:-1)

将此代码放置到functions.php中

add_filter( 'wc_add_to_cart_message_html', '__return_false' );