我需要删除从购物车中删除产品时显示的woocommerce购物车消息(“ ...已从购物车中删除。撤消?”)
我尝试了以下代码:WooCommerce - unset "<product> removed notice…" on cart page
但是它不起作用,消息仍然显示。有谁知道如何隐藏它?
答案 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' );