ВОПРОС
Я использую функцию wc_customer_bought_product()функцию, чтобы проверить, купил ли текущий пользователь определенный продукт.
Однако теперь мне нужно проверить, сколько этого продукта купил клиент.
Как мне этого добиться?
ОТВЕТ
Здесь у вас есть все материалы для создания своей собственной функции. Ниже приведен пример с функцией, которая будет получать количество продукта в заказе на основе идентификатора продукта для текущего клиента, используя функцию wc_customer_bought_product():
functionchecking_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.’;
}
}
}
}
}