栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在WooCommerce 3中获取订单商品和WC_Order_Item_Product

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在WooCommerce 3中获取订单商品和WC_Order_Item_Product

如果使用该

get_id()
方法,则将获得
15
代码中的商品ID 。

获取产品ID:获取产品ID
的正确WC_Order_Item_Product方法为:

get_product_id()

获取版本ID
获取产品 ID 的正确WC_Order_Item_Product方法为:

get_variation_id()

获取订单ID
正确的WC_Order_Item_Product方法以获取订单ID为:

get_order_id()

获取WC_Product对象要获取WC_Product对象
的正确WC_Order_Item_Product方法是:

get_product()

获取WC_Order对象要获取WC_order对象
的正确WC_Order_Item_Product方法是:

get_order()

*使用以下

WC_Data
方法 *获取和取消保护数据和元数据
get_data()

get_meta_data()


WC_Product
从订单商品ID 获取对象:

$order_item_id = 15;$item = new WC_Order_Item_Product($order_item_id);// The product ID$product_id = $item->get_product_id();// The variation ID$product_id = $item->get_variation_id();// The WC_Product object$product = $item->get_product();// The quantity$order_id = $item->get_quantity();// The order ID$order_id = $item->get_order_id();// The WC_Order object$order = $item->get_order();// The item ID$item_id = $item->get_id(); // which is your $order_item_id// The product name$product_name = $item->get_name(); // … OR: $product->get_name();// Get the product SKU (using WC_Product method)$sku = $product->get_sku();// Get line item totals (non discounted)$total     = $item->get_subtotal(); // Total without tax (non discounted)$total_tax = $item->get_subtotal_tax(); // Total tax (non discounted)// Get line item totals (discounted when a coupon is applied)$total     = $item->get_total(); // Total without tax (discounted)$total_tax = $item->get_total_tax(); // Total tax (discounted)

WC_Order
对象获取订单商品 (并使用
WC_product
Object)

$order_id = 156; // The order_id// get an instance of the WC_Order object$order = wc_get_order( $order_id );// The loop to get the order items which are WC_Order_Item_Product objects since WC 3+foreach( $order->get_items() as $item_id => $item ){    //Get the product ID    $product_id = $item->get_product_id();    //Get the variation ID    $product_id = $item->get_variation_id();    //Get the WC_Product object    $product = $item->get_product();    // The quantity    $product_name = $item->get_quantity();    // The product name    $product_name = $item->get_name(); // … OR: $product->get_name();    //Get the product SKU (using WC_Product method)    $sku = $product->get_sku();    // Get line item totals (non discounted)    $total     = $item->get_subtotal(); // Total without tax (non discounted)    $total_tax = $item->get_subtotal_tax(); // Total tax (non discounted)    // Get line item totals (discounted when a coupon is applied)    $total     = $item->get_total(); // Total without tax (discounted)    $total_tax = $item->get_total_tax(); // Total tax (discounted)}

访问数据和自定义元数据:

1) 取消保护

WC_Order_Item_Product
数据和自定义元数据:

您可以使用所有

WC_Order_Item_Product data
方法,也可以使用
WC_Data

以下方法取消保护数据:

$order_id = 156; // The order_id// get an instance of the WC_Order object$order = wc_get_order( $order_id );// The loop to get the order items which are WC_Order_Item_Product objects since WC 3+foreach( $order->get_items() as $item_id => $item ){    // Get the common data in an array:     $item_product_data_array = $item->get_data();    // Get the special meta data in an array:     $item_product_meta_data_array = $item->get_meta_data();    // Get the specific meta data from a meta_key:     $meta_value = $item->get_meta( 'custom_meta_key', true );    // Get all additional meta data (formatted in an unprotected array)    $formatted_meta_data = $item->get_formatted_meta_data( ' ', true );    // Get line item totals (non discounted)    $total     = $item->get_subtotal(); // Total without tax (non discounted)    $total_tax = $item->get_subtotal_tax(); // Total tax (non discounted)    // Get line item totals (discounted when a coupon is applied)    $total     = $item->get_total(); // Total without tax (discounted)    $total_tax = $item->get_total_tax(); // Total tax (discounted)}

2)仍然可以 使用数组访问 (为了与旧数组向后兼容) 以直接获取公共数据:

$order_id = 156; // The order_id// get an instance of the WC_Order object$order = wc_get_order( $order_id );// The loop to get the order items which are WC_Order_Item_Product objects since WC 3+foreach( $order->get_items() as $item_id => $item ){    $product_id    = $item['product_id']; // Get the product ID    $variation_id  = $item['variation_id']; // Get the variation ID    $product_name  = $item['name']; // The product name    $item_qty      = $item['quantity']; // The quantity    // Get line item totals (non discounted)    $line_total     = $item['subtotal']; // or $item['line_subtotal'] -- The line item non discounted total    $line_total_tax = $item['subtotal_tax']; // or $item['line_subtotal_tax'] -- The line item non discounted tax total    // Get line item totals (discounted)    $line_total2     = $item['total']; // or $item['line_total'] -- The line item non discounted total    $line_total_tax2 = $item['total_tax']; // The line item non discounted tax total    // And so on ……}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/383234.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号