2016-06-11 36 views

Antwort

2

Dies wird auf kompilierte Suchen basierend Ihr Problem um die Lösung, aber ich bin nicht sicher über dieses (ungetestet) Snippet-Code:

function wc_my_order_coupons($order_id) { 
    $order = new WC_Order($order_id); 

    // checking if order has some used coupons 
    if($order->get_used_coupons()) { 
     $order_coupons = $order->get_used_coupons(); 
     /* echo var_dump($order_coupons); */ 

     foreach($order->$order_coupons as $coupon) { 
      $coupon_id = $coupon->id; 
      /* echo var_dump($coupon_id); */ 

      // here is a list of most all data that you can use for a coupon 
      $cp_discount_type = get_post_meta($coupon_id, 'discount_type', true); 
      $cp_amount = get_post_meta($coupon_id, 'coupon_amount', true); 
      $cp_indiv_use = get_post_meta($coupon_id, 'individual_use', true); 
      $cp_products = get_post_meta($coupon_id, 'product_ids'); 
      $cp_excl_products = get_post_meta($coupon_id, 'exclude_product_ids'); 
      $cp_usage_limit = get_post_meta($coupon_id, 'usage_limit', true); 
      $cp_expiry_date = get_post_meta($coupon_id, 'expiry_date', true); 
      $cp_apply_before_tax = get_post_meta($coupon_id, 'apply_before_tax', true); 
      $cp_free_shipping = get_post_meta($coupon_id, 'free_shipping', true); 

      // Getting the products in this order_id 
      $items = $order->get_items(); 
      foreach ($items as $key => $item) { 
       $product_name = $item['name']; 
       $product_id = $item['product_id']; 
       /* echo var_dump($product_id); */ 

       // Example: we use product_ids authorized in the coupon $cp_products 
       if (in_array($product_id, $cp_products)) { 
        echo $product_name . 'uses the coupon: ' . $coupon->code . '<br>'; 
       } 
      } 
     } 
    } 
} 

mir etwas Futter zurück geben ... und ich werde diesen Code stimmen, weil Es gibt mehrere Möglichkeiten, dies zu tun.

Referenzen:

+0

Thaks für das Snippet @LoicTheAztec, wirklich zu schätzen . Entschuldigung für die Verzögerung in der Antwort. Ich habe diesen Code verwendet, aber es wird ein Problem geben, wenn ein Coupon auf zwei oder mehr Produkte angewendet werden kann. Habe ich Recht? –

+0

@ MûhámmàdYäsårK Ja, das könnte stimmen. Aber es könnte sicher gelöst werden, weil alles möglich ist, abhängig von Ihrer Zeit und Anstrengung. Danke, dass du mich gewählt hast :) ... Funktioniert dieser Ausschnitt oder nicht? – LoicTheAztec