在 WooCommerce 购物车页面上取消设置已删除的购物车商品通知
Unset removed cart item notice on WooCommerce cart page
当客户从购物车中移除商品时,有没有办法在购物车页面上hide/remove通知"Product removed. Undo?"?
我试过:
add_filter( 'woocommerce_cart_item_removed_title', '__return_null' );
但这只隐藏了已被删除的产品标题...
我找不到该行其余部分("removed" 和 "Undo?")的右钩
要取消设置购物车页面上的“{item_name} removed. Undo?
”通知,您可以使用以下方法欺骗 Woocommerce:
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 );
}
}
代码进入您的活动子主题(或活动主题)的 function.php 文件。已测试并有效。
Important: Depending on your installation language, you could need to change the word "removed" in the function code to the one that is convenient in your installation language.
我遇到了同样的问题,使用以下语句解决了:
add_filter('woocommerce_cart_item_removed_notice_type', '__return_null');
代码进入您的活动子主题(或活动主题)的 function.php 文件。
当客户从购物车中移除商品时,有没有办法在购物车页面上hide/remove通知"Product removed. Undo?"?
我试过:
add_filter( 'woocommerce_cart_item_removed_title', '__return_null' );
但这只隐藏了已被删除的产品标题...
我找不到该行其余部分("removed" 和 "Undo?")的右钩
要取消设置购物车页面上的“{item_name} removed. Undo?
”通知,您可以使用以下方法欺骗 Woocommerce:
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 );
}
}
代码进入您的活动子主题(或活动主题)的 function.php 文件。已测试并有效。
Important: Depending on your installation language, you could need to change the word "removed" in the function code to the one that is convenient in your installation language.
我遇到了同样的问题,使用以下语句解决了:
add_filter('woocommerce_cart_item_removed_notice_type', '__return_null');
代码进入您的活动子主题(或活动主题)的 function.php 文件。