wordpress 在woocommerce的其他页面上显示优惠券消息

fkaflof6  于 2023-01-29  发布在  WordPress
关注(0)|答案(1)|浏览(198)

我创建了一个自定义链接来自动添加优惠券到购物车(/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 );
eblbsuwk

eblbsuwk1#

尝试将此代码添加到您的cart-empty.php文件中:

$coupons = WC()->cart->get_applied_coupons();
if ( $coupons ) {
    wc_print_notice( 'Coupon ' . implode( ', ', $coupons ) . ' has been applied to your cart.', 'notice' );
}

这将检查是否有任何优惠券已应用到购物车,如果是,将显示一个通知与应用优惠券代码。

相关问题