我创建了一个自定义链接来自动添加优惠券到购物车(/cart/?coupon_code=bemvindo),但当重定向到购物车和购物车是空的时,不显示消息。
我需要给消费者看申请的优惠券信息。
我尝试将此代码添加到cart-empty.php中,但无法正常工作。
<div class="woocommerce-notices-shortcode woocommerce">
<?php
$coupons = WC()->cart->get_applied_coupons();
if ( $coupons ) {
wc_print_notice( 'Cupom ' . implode( ', ', $coupons ) . ' foi aplicado com sucesso ao seu carrinho.', 'notice' );
}
wc_print_notices();
?>
</div>
优惠券链接代码,我用:
/**
* Coupon link - Set session variable on page load if the query string has coupon_code variable.
*/
function ts_get_custom_coupon_code_to_session() {
if( isset( $_GET[ 'coupon_code' ] ) ) {
// Ensure that customer session is started
if( !WC()->session->has_session() )
WC()->session->set_customer_session_cookie(true);
// Check and register coupon code in a custom session variable
$coupon_code = WC()->session->get( 'coupon_code' );
if( empty( $coupon_code ) && isset( $_GET[ 'coupon_code' ] ) ) {
$coupon_code = esc_attr( $_GET[ 'coupon_code' ] );
WC()->session->set( 'coupon_code', $coupon_code ); // Set the coupon code in session
}
}
}
add_action( 'init', 'ts_get_custom_coupon_code_to_session' );
/* Apply Coupon code to the cart if the session has coupon_code variable */
function ts_apply_discount_to_cart() {
// Set coupon code
$coupon_code = WC()->session->get( 'coupon_code' );
if ( ! empty( $coupon_code ) && ! WC()->cart->has_discount( $coupon_code ) ){
WC()->cart->add_discount( $coupon_code ); // apply the coupon discount
WC()->session->__unset( 'coupon_code' ); // remove coupon code from session
}
}
add_action( 'woocommerce_before_cart_table', 'ts_apply_discount_to_cart', 10, 0 );
1条答案
按热度按时间eblbsuwk1#
尝试将此代码添加到您的cart-empty.php文件中:
这将检查是否有任何优惠券已应用到购物车,如果是,将显示一个通知与应用优惠券代码。