Accessing Order Items and WC_Order_Item_Product in WooCommerce 3
In WooCommerce version 3.0, retrieving properties directly from order items is no longer feasible. To retrieve information about a specific order item, you need to use the appropriate getter methods provided by the WC_Order_Item_Product class.
Accessing Order Item Data:
-
Product ID: $order_item->get_product_id()
-
Variation ID: $order_item->get_variation_id()
-
Quantity: $order_item->get_quantity()
-
Order ID: $order_item->get_order_id()
-
Product Name: $order_item->get_name()
-
WC_Product Object: $order_item->get_product()
-
WC_Order Object: $order_item->get_order()
-
Item Subtotal (non-discounted): $order_item->get_subtotal()
-
Item Subtotal Tax (non-discounted): $order_item->get_subtotal_tax()
-
Item Total (discounted): $order_item->get_total()
-
Item Total Tax (discounted): $order_item->get_total_tax()
Accessing Data and Metadata:
-
Data Array: $order_item->get_data()
-
Metadata Array: $order_item->get_meta_data()
-
Specific Metadata (by Meta Key): $order_item->get_meta('meta_key')
-
Formatted Metadata: $order_item->get_formatted_meta_data(...)
Array Access:
While the array access method is deprecated, you can still use it for accessing common data:
-
Product ID: $order_item['product_id']
-
Variation ID: $order_item['variation_id']
-
Product Name: $order_item['name']
-
Quantity: $order_item['quantity']
-
Non-Discounted Subtotal: $order_item['subtotal']
-
Non-Discounted Subtotal Tax: $order_item['subtotal_tax']
-
Discounted Total: $order_item['total']
-
Discounted Total Tax: $order_item['total_tax']
Additional Notes:
- To get the WC_Order_Item_Product object from an order item ID, use: $item = new WC_Order_Item_Product($order_item_id);
- To get a list of order items from an order ID, use: $items = $order->get_items();
The above is the detailed content of How Do I Access Order Item Data in WooCommerce 3 Using WC_Order_Item_Product?. For more information, please follow other related articles on the PHP Chinese website!