首页 >后端开发 >php教程 >如何访问 WooCommerce 3 中的订单项目数据?

如何访问 WooCommerce 3 中的订单项目数据?

DDD
DDD原创
2024-12-19 13:45:10242浏览

How to Access Order Item Data in WooCommerce 3?

在 WooCommerce 3 中访问订单项目和 WC_Order_Item_Product

WooCommerce 3 中的一个显着变化是无法直接访问订单项目的属性。以下代码以前有效,现在会导致错误:

$order_item_id = 15;
$order_item = new WC_Order_Item_Product($order_item_id);
$return = $order_item->get_id() ? $order_item : false;

了解新机制

在 WooCommerce 3 中,WC_Order_Item_Product 类没有构造函数,其属性可以可以通过专用方法访问。以下是检索特定数据的关键方法:

检索特定数据

  • 产品 ID: get_product_id()
  • 变体 ID: get_variation_id()
  • 订单 ID: get_order_id()
  • WC_Product 对象: get_product()
  • WC_Order 对象: get_order()
  • 商品 ID: get_id()
  • 产品名称: get_name()
  • 产品 SKU : get_product()->get_sku()

检索总计

  • 小计(未折扣): get_subtotal()
  • 税金小计(未折扣): get_subtotal_tax()
  • 总计(折扣): get_total()
  • 总税金(折扣): get_total_tax()

检索订单项目

从 WC_Order 对象检索订单项目并访问其数据(使用 WC_Product对象),使用以下内容代码:

$order_id = 156; // The order_id
$order = wc_get_order( $order_id );

foreach( $order->get_items() as $item_id => $item ){

    // Product ID
    $product_id = $item->get_product_id();

    // Variation ID
    $variation_id = $item->get_variation_id();

    // WC_Product Object
    $product = $item->get_product();

    // Product Name
    $product_name = $item->get_name();
}

访问数据和自定义元数据

取消保护数据和元数据:

$formatted_meta_data = $item->get_formatted_meta_data( ' ', true );
$meta_value = $item->get_meta( 'custom_meta_key', true );

阵列访问:

$product_id    = $item['product_id']; // Get the product ID
$variation_id  = $item['variation_id']; // Get the variation ID

请参阅下面的链接资源以获取更多见解:

  • [获取 woocommerce 中订单商品的元数据3](https://stackoverflow.com/questions/54304498/get-the-metadata-of-an-order-item-in-woocommerce-3)
  • [如何获取 WooCommerce 订单详细信息]( https://stackoverflow.com/questions/32144098/how-to-get-woocommerce-order-details)

以上是如何访问 WooCommerce 3 中的订单项目数据?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn