WooCommerce Получение количества товара в заказе на основе функции wc_customer_bought_product

Я использую функцию wc_customer_bought_product(), чтобы проверить, купил ли текущий пользователь определенный продукт.

Однако теперь мне нужно проверить, сколько этого продукта купил покупатель.

Так, например, если я купил в заказе продукт с количеством 7, мне нужен способ получить заказ и количество в этом заказе для этого продукта.

Как я могу этого добиться?

Если у кого-то есть ответ, я был бы очень признателен.


person Emilio Venegas    schedule 04.07.2016    source источник


Ответы (1)


Здесь у вас есть все материалы для создания вашей собственной функции. Ниже приведен пример с функцией, которая будет получать количество продукта в заказе на основе идентификатора продукта для текущего клиента, используя функцию wc_customer_bought_product():

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.';
                }

            }

        }

    }

}

Использованная литература:

person LoicTheAztec    schedule 04.07.2016