2016-07-04 11 views
1

wc_customer_bought_product()関数を使用して、現在のユーザーが特定の製品を購入したかどうかを確認しています。WooCommerce wc_customer_bought_product関数に基づいて注文数量を取得する

しかし、今では、の商品のうち、どれくらいの商品を購入したか確認する必要があります。

たとえば、数量7の製品を注文した場合、この製品の注文と数量を取得する方法が必要です。

どうすればこの問題を解決できますか?

誰かが何か答えを持っていれば、それは大歓迎です。

答えて

2

ここには、独自の機能を構築するためのすべての素材があります。

function checking_product_bought($_product_id){ 

    global $woocommerce, $posts; 

    // Get the current customer info (as an object) 
    $customer  = wp_get_current_user(); 
    $customer_id = $customer->ID; // customer ID 
    $customer_email = $customer->email; // customer email 

    // Get all orders for this customer_id 
    $customer_orders = get_posts(array(
     'numberposts' => -1, 
     'meta_key' => '_customer_user', 
     'meta_value' => $customer_id, 
     'post_type' => wc_get_order_types(), 
     'post_status' => array_keys(wc_get_order_statuses()), 
    )); 

    if ($customer_orders){ 

     foreach ($customer_orders as $customer_order) { 
      $order  = wc_get_order(); 
      $order_id  = $order->id; // get the order ID)or may be "order->ID") 
      // getting all products items for each order 
      $items = $order->get_items(); 

      foreach ($items as $item) 
      { 
       $product_id = $item['product_id']; // product id 
       $product_qty = $item['qty']; // product quantity 

       if(wc_customer_bought_product($customer_email, $customer_id, $_product_id)) 
       { 
        echo '<div>for order number: ' . $order_id . ' ,there is ' . $product_qty . ' for this product.'; 
       } 

      } 

     } 

    } 

} 

参照:

関連する問題