Cómo obtener order_item_id WooCommerce

1 minuto de lectura

Necesito poder obtener order_item_id, el valor único que se aplica a cada artículo en cada pedido. Esto es lo que tengo hasta ahora:

        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'];

La última línea del código anterior obtiene order_item_id. Normalmente no funcionaría, pero funciona porque edité get_items en class-wc-order e incluí:

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

Lo que quiero saber es cómo puedo obtener order_item_id sin tener que editar class-wc-order. ¿Hay alguna manera fácil?

¡Gracias!

avatar de usuario
usuario3367143

Esto puede ser demasiado tarde para su proyecto, pero puede ser útil para otros:

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

los $key variable es la item_idEstás buscando.

avatar de usuario
usuario3481396

El índice/clave de la matriz devuelta por $order->get_items() es el order_item_id… así que prueba esto:

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

  • Esto dice exactamente lo mismo que la respuesta del usuario 3367143 que ya está aquí. La otra respuesta es usar el $items variable de la pregunta que se crea usando $order->get_items().

    – icc97

    30 mayo 2016 a las 12:35

¿Ha sido útil esta solución?