在 WooCommerce 3 中检索订单项目和产品对象
在 WooCommerce 3 中,从订单项目访问属性发生了重大变化。不再可以直接访问像 $order_item->get_id() 这样的商品 ID,从而导致错误。
获取产品和变体 ID、订单 ID 和 WC_Product 对象
要检索订单商品的各种属性,您应该使用以下命令方法:
-
产品 ID: $item->get_product_id()
-
变体 ID: $item->get_variation_id( )
-
下单ID: $item->get_order_id()
-
WC_Product 对象: $item->get_product()
检索订单项目和 WC_Product 对象来自订单
要获取订单商品及其关联的 WC_Product 对象:
- 使用 wc_get_order($order_id) 检索 WC_Order 对象。
- 迭代 $ order->get_items() 循环,其中每个 Order Item 的类型为 WC_Order_Item_Product。
- 使用上述方法检索所需的属性。
访问和取消保护数据和元数据
WC_Data 方法允许您访问和取消保护数据以及与订单商品关联的元数据:
-
使用 WC_Data 的不受保护数据: $item->get_data(), $item->get_meta_data()
-
旧数组的数组访问: $item['product_id'], $item['variation_id']
其他辅助方法
-
获取产品 SKU: $product->get_sku()
-
获取订单项总计(非折扣): $item->get_subtotal()、$item->get_subtotal_tax()
-
获取订单项总计(折扣): $item->get_total(), $item->get_total_tax()
-
获取格式化元数据: $item->get_formatted_meta_data()
以上是如何在 WooCommerce 3 中高效检索订单项目和产品数据?的详细内容。更多信息请关注PHP中文网其他相关文章!