在 WooCommerce 感谢页面中显示优惠券使用次数和限制 [英] Display coupon usage count and limit in WooCommerce thank you page

查看:28
本文介绍了在 WooCommerce 感谢页面中显示优惠券使用次数和限制的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在 WooCommerce 感谢页面上显示优惠券的剩余数量

I want to display the remaining number of the coupon on the WooCommerce thankyou page

例如:您使用了测试优惠券3次,还剩10次.

For example: You used the test coupon 3 times and there are 10 more left.

这是我的代码:

add_action('woocommerce_after_cart_table', 'coupon_count');
function coupon_count() {
    global $woocommerce;

    if ( ! empty( $woocommerce->cart->applied_coupons ) ) {
         $my_coupon = $woocommerce->cart->get_coupons() ;
         foreach($my_coupon as $coupon){

            if ( $post = get_post( $coupon->id ) ) {

                        $counter = $coupon->get_usage_count();
                        echo "<span class='name-coupon'><b>Total usage for coupon </b><b>'</b><b>".$coupon->code."</b><b>'</b><b>: </b></span>";
                        echo "<span class='coupon-counter'>".($counter)."</span>";

            }
        }
    }
}

但我有两个问题:

1.此代码只显示使用次数,不显示剩余次数.

1.With this code, only the number of times used is displayed and the remaining number is not displayed.

2.在感谢页面用woocommerce_thankyou替换woocommerce_after_cart_table不会执行代码.

2.Replacing woocommerce_after_cart_table with woocommerce_thankyou on the thankyou page does not execute the code.

推荐答案

  • 在感谢页面上使用订单对象而不是购物车对象.所以我们将使用那个对象来代替

    • Instead of using the cart object, the order object is used on the thankyou page. So we're going to use that object instead

      您可以使用get_usage_limit_per_user() 获取每位客户的优惠券使用限制(针对单个客户)

      You can use get_usage_limit_per_user() to get coupon usage limit per customer (for a single customer)

      OR 使用 get_usage_limit() 获取优惠券使用限制.

      OR use get_usage_limit() to get coupon usage limit.

      所以你得到:

      function action_woocommerce_thankyou( $order_id ) {
          // Get $order object
          $order = wc_get_order( $order_id );
      
          foreach( $order->get_coupon_codes() as $coupon_code ) {
              // Get the WC_Coupon object
              $coupon = new WC_Coupon( $coupon_code );
      
              // Get usage count
              $count = $coupon->get_usage_count();
              
              // Get coupon usage limit per customer
              $limit = $coupon->get_usage_limit_per_user();
              
              // OR use this instead, to get coupon usage limit.
              // $limit = $coupon->get_usage_limit();
              
              // NOT empty
              if ( ! empty ( $count ) && ! empty ( $limit ) ) {
                  // Calculate remaining
                  $remaining = $limit - $count;
              
                  // Output
                  echo sprintf( '<span class="coupon-class">You used the <strong>%s</strong> coupon <strong>%d</strong> times and there are <strong>%d</strong> more left</span>', $coupon_code, $count, $remaining );
              }
          }
      }
      add_action( 'woocommerce_thankyou', 'action_woocommerce_thankyou', 10, 1 );
      

      这篇关于在 WooCommerce 感谢页面中显示优惠券使用次数和限制的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆