如果您查看购物车项目数据,则该功能存在.
要在购物车页面中显示应用于每个购物车项目(单个产品价格)的折扣金额,请使用以下方法:
add_filter( 'woocommerce_cart_item_price', 'cart_item_discount_amount_suffix', 100, 2 );
function cart_item_discount_amount_suffix( $item_price_html, $cart_item ) {
if( count( WC()->cart->get_applied_coupons() ) > 0 ) {
$item_subtotal = $cart_item['line_subtotal'];
$item_total = $cart_item['line_total'];
if ( $cart_item['data']->is_taxable() && WC()->cart->display_prices_including_tax() ) {
$item_subtotal += $cart_item['line_subtotal_tax'];
$item_total += $cart_item['line_tax'];
}
$item_price = $item_subtotal / $cart_item['quantity'];
$item_price_discounted = $item_total / $cart_item['quantity'];
$item_price_html .= sprintf( ' <span class="discount-amount">(- %s)</span>', wc_price($item_price - $item_price_discounted) );
}
return $item_price_html;
}
要在购物车页面and in checkout page中显示应用于每个购物车项目subtotal的折扣金额,请使用以下内容:
add_filter( 'woocommerce_cart_item_subtotal', 'cart_item_subtotal_discount_amount_suffix', 100, 2 );
function cart_item_subtotal_discount_amount_suffix( $item_subtotal_html, $cart_item ) {
if( count( WC()->cart->get_applied_coupons() ) > 0 ) {
$item_subtotal = $cart_item['line_subtotal'];
$item_total = $cart_item['line_total'];
if ( $cart_item['data']->is_taxable() && WC()->cart->display_prices_including_tax() ) {
$item_subtotal += $cart_item['line_subtotal_tax'];
$item_total += $cart_item['line_tax'];
}
$item_subtotal_html .= sprintf( ' <span class="discount-amount">(- %s)</span>', wc_price($item_subtotal - $item_total) );
}
return $item_subtotal_html;
}
代码放在主题的unctions.php文件中(或在插件中).经过测试,效果良好.