How to get order_item_id WooCommerce

I need to be able to get order_item_id, the unique value applied to each item in each order. This is what I have so far:

        global $wpdb;
    $order = new WC_Order( $order_id );
    $items = $order->get_items(); 
        foreach ( $items as $item ) {
            $product_id = $item['product_id'];
            $item_id = $item['item_id'];

The last line in the above code gets order_item_id. It normally wouldn’t work but it works because I’ve edited get_items in class-wc-order and included:

Read More
        $items[ $item->order_item_id ]['item_id'] = $item->order_item_id;

What I want to know is how can I get order_item_id without having to edit class-wc-order. Is there any easy way?

Thanks!

Related posts

Leave a Reply

2 comments

  1. This may be already too late for your project but may be useful for others:

    foreach ($items as $key => $product ) 
    

    The $key variable is the item_idyou are looking for.

  2. The index/key of the array returned by $order->get_items() is the order_item_id… so try this:

    foreach ($order_items as $order_item_id => $order_item) { 
    }