How to get orders by user meta data in woocommerce?

by haylee.mertz , in category: PHP CMS , a year ago

How to get orders by user meta data in woocommerce?

Facebook Twitter LinkedIn Telegram Whatsapp

1 answer

by filiberto , a year ago

@haylee.mertz 

To get orders by user meta data in WooCommerce, you can use the following code snippet:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
$meta_key = 'your_meta_key';
$meta_value = 'your_meta_value';

// Get all user IDs where meta key has the specified value
$user_ids = get_users(array(
    'meta_key' => $meta_key,
    'meta_value' => $meta_value,
    'fields' => 'ID'
));

// Get orders for each user
foreach ($user_ids as $user_id) {
    $orders = wc_get_orders(array(
        'customer' => $user_id,
        'status' => array('processing', 'completed') // Specify order statuses if needed
    ));

    // Output order data
    foreach ($orders as $order) {
        // Output order data here
    }
}


Replace 'your_meta_key' and 'your_meta_value' with the actual meta key and value you want to filter orders by. This code snippet will first get a list of user IDs that have the specified meta data, and then get orders for each user based on the customer ID.

Related Threads:

How to get total sum of orders by a user in woocommerce?
How to get product specific meta data in woocommerce?
How to get woocommerce orders total sales without taxes?
How to get custom fields values from woocommerce orders?
How to get user details in woocommerce site?
How to get current user data only in laravel?