WooCommerce 根据 wc_customer_bought_product 函数获取订单中的产品数量
WooCommerce Getting the product quantity in a order based on wc_customer_bought_product function
我正在使用 wc_customer_bought_product()
函数来检查当前用户是否购买了某种产品。
但是,现在我需要检查 客户购买了多少 那种产品。
因此,例如,如果我在订单中购买了数量为 7 的产品,我需要一种方法来获取该产品的订单和该订单中的数量。
我怎样才能做到这一点?
如果有人有答案,将不胜感激。
在这里你有所有 material 来构建你自己的功能。下面是一个函数示例,该函数将根据当前客户的产品 ID 获取订单中的产品数量,使用函数 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.';
}
}
}
}
}
参考文献:
- How to use wc_customer_bought_product function to check if customer bought product in an array
我正在使用 wc_customer_bought_product()
函数来检查当前用户是否购买了某种产品。
但是,现在我需要检查 客户购买了多少 那种产品。
因此,例如,如果我在订单中购买了数量为 7 的产品,我需要一种方法来获取该产品的订单和该订单中的数量。
我怎样才能做到这一点?
如果有人有答案,将不胜感激。
在这里你有所有 material 来构建你自己的功能。下面是一个函数示例,该函数将根据当前客户的产品 ID 获取订单中的产品数量,使用函数 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.';
}
}
}
}
}
参考文献:
- How to use wc_customer_bought_product function to check if customer bought product in an array