我想更改“已将“ [产品名称]”添加到您的购物篮”提示,说“已将x项添加到您的购物篮”。
This thread解释了如何编辑“添加到购物车”消息,但是我找不到有关可以使用的变量的任何信息。
如何显示添加的产品数量而不是名称?
答案 0 :(得分:2)
自Woocommerce 3起,过滤器挂钩wc_add_to_cart_message
已过时,现在已由wc_add_to_cart_message_html
取代……
函数可用变量参数为两个:
$message
是输出的字符串消息$products
是包含产品ID /数量对(键/值) 的索引数组。要将默认的 “ {qty}
x {product-name}
已添加到购物车” 消息为:
{qty}
个商品已添加到您的购物篮。
您将使用以下内容:
add_filter( 'wc_add_to_cart_message_html', 'custom_add_to_cart_message_html', 10, 2 );
function custom_add_to_cart_message_html( $message, $products ) {
$count = 0;
foreach ( $products as $product_id => $qty ) {
$count += $qty;
}
// The custom message is just below
$added_text = sprintf( _n("%s item has %s", "%s items have %s", $count, "woocommerce" ),
$count, __("been added to your basket.", "woocommerce") );
// Output success messages
if ( 'yes' === get_option( 'woocommerce_cart_redirect_after_add' ) ) {
$return_to = apply_filters( 'woocommerce_continue_shopping_redirect', wc_get_raw_referer() ? wp_validate_redirect( wc_get_raw_referer(), false ) : wc_get_page_permalink( 'shop' ) );
$message = sprintf( '<a href="%s" class="button wc-forward">%s</a> %s', esc_url( $return_to ), esc_html__( 'Continue shopping', 'woocommerce' ), esc_html( $added_text ) );
} else {
$message = sprintf( '<a href="%s" class="button wc-forward">%s</a> %s', esc_url( wc_get_page_permalink( 'cart' ) ), esc_html__( 'View cart', 'woocommerce' ), esc_html( $added_text ) );
}
return $message;
}
代码进入您的活动子主题(或活动主题)的function.php文件中。经过测试并可以正常工作。