如何获取 WooCommerce 订单详细信息?

众所周知,WooCommerce 是最流行的电子商务解决方案平台,它已经拥有默认模板设计的每个页面的默认模板。

因此,有时我们想使用自定义模板更改模板的设计,并且在该模板中,我们需要按照自定义设计显示订单详细信息。

让我们开始吧。

获取 WooCommerce 订单详细信息

我们必须发送自定义电子邮件正文内容。因此,我们必须使用WC_Order对象来获取 WooCommerce 订单详细信息。
我们还可以使用wc_get_orders(),这是获取订单对象并获取特定参数的订单详细信息的函数。

$order_id = 145;
$order = new WC_Order( $order_id );
//$order = wc_get_order( $order_id );

$orderid  = $order->get_id(); // 获取订单 ID
$parent_id = $order->get_parent_id(); // 获取父级订单 ID

$user_id   = $order->get_user_id(); // 获取用户 ID
$user      = $order->get_user(); // 获取 WP_User 对象

// 获取订单状态
$order_status  = $order->get_status(); // 获取订单状态

// Get Order Dates
$date_created  = $order->get_date_created(); // 获取创建日期
$date_modified = $order->get_date_modified(); // 获取修改日期
$date_completed = $order->get_date_completed(); // 获取订单完成日期
$date_paid = $order->get_date_paid(); // 获取订单付款日期

//获取订单账单详情
$billing_first_name = $order->get_billing_first_name();
$billing_last_name = $order->get_billing_last_name();
$billing_company = $order->get_billing_company();
$billing_address1 = $order->get_billing_address_1();
$billing_address2 = $order->get_billing_address_2();
$billing_city = $order->get_billing_city();
$billing_state = $order->get_billing_state();
$billing_postcode = $order->get_billing_postcode();
$billing_country = $order->get_billing_country();
$billing_email = $order->get_billing_email();
$billing_phone = $order->get_billing_phone();
$billing_formatted_name = $order->get_formatted_billing_full_name();
$billing_formatted_address = $order->get_formatted_billing_address();

//获取订单物流详情
$shipping_first_name = $order->get_shipping_first_name();
$shipping_last_name = $order->get_shipping_last_name();
$shipping_company = $order->get_shipping_company();
$shipping_address1 = $order->get_shipping_address_1();
$shipping_address2 = $order->get_shipping_address_2();
$shipping_city = $order->get_shipping_city();
$shipping_state = $order->get_shipping_state();
$shipping_postcode = $order->get_shipping_postcode();
$shipping_country = $order->get_shipping_country();
$shipping_formatted_name = $order->get_formatted_shipping_full_name();
$shipping_formatted_address = $order->get_formatted_shipping_address();

//获取订单付款详情
$currency      = $order->get_currency(); // 获取所用的货币 
$payment_title = $order->get_payment_method_title(); // 获取付款方式名称
$payment_method = $order->get_payment_method(); // 获取付款方式 ID
$fees = $order->get_fees(); // 获取订单手续费
$subtotal = $order->get_subtotal(); // 获取订单费用小计
$total_tax = $order->get_total_tax(); // 获取订单总税费
$total = $order->get_total(); // 获取订单总费用

所以,我们看看如何借助getter 方法获取 WooCoomerce 订单详细信息。您可以在此处查看更多方法。

如果您想获取和访问订单对象的受保护数据,则可以使用get_data()功能。

这与我们在上面对$order对象实例所做的相同。例如:$order->get_data()

它将数据作为关联数组返回,我们可以将此数组与 key=>pair 值一起使用。

让我们看看这个例子。

$order_id = 145;
$order = wc_get_order( $order_id );

$order_data = $order->get_data(); // 获取订单数据
$orderid  = $order_data['id']; // 获取订单 ID
$parent_id = $order_data['parent_id']; // 获取父级订单 ID

// 获取订单状态
$order_status  = $order_data['status']; // 获取订单状态

// Get Order Dates
$date_created  = $order_data['date_created']; // 获取创建日期
$date_modified = $order_data['date_modified']; // 获取修改日期
$date_completed = $order_data['date_completed']; // 获取订单完成日期
$date_paid = $order_data['date_paid']; // 获取订单付款日期

//获取订单账单信息
$billing_first_name = $order_data['billing']['first_name'];
$billing_last_name = $order_data['billing']['last_name'];
$billing_company = $order_data['billing']['company'];
$billing_address1 = $order_data['billing']['address_1'];
$billing_address2 = $order_data['billing']['address_2'];
$billing_city = $order_data['billing']['city'];
$billing_state = $order_data['billing']['state'];
$billing_postcode = $order_data['billing']['postcode'];
$billing_country = $order_data['billing']['country'];
$billing_email = $order_data['billing']['email'];
$billing_phone = $order_data['billing']['phone'];

//获取订单物流信息
$shipping_first_name = $order_data['shipping']['first_name'];
$shipping_last_name = $order_data['shipping']['last_name'];
$shipping_company = $order_data['shipping']['company'];
$shipping_address1 = $order_data['shipping']['address_1'];
$shipping_address2 = $order_data['shipping']['address_2'];
$shipping_city = $order_data['shipping']['city'];
$shipping_state = $order_data['shipping']['state'];
$shipping_postcode = $order_data['shipping']['postcode'];
$shipping_country = $order_data['shipping']['country'];

//获取订单付款信息
$subtotal = $order_data['subtotal']; // 获取订单费用小计
$total_tax = $order_data['total_tax']; // 获取订单总税费
$total = $order_data['total']; // 获取订单总费用

使用 get_data() 函数,您可以使用订单数据作为数组属性来获取 WooCommerce 订单详细信息。

如果您在一个订单中有多个项目,您还可以使用函数 get_items()循环订单项目。

请参阅简单示例以了解这一点。

foreach ( $order->get_items() as $item_id => $item ) {
   $product = $item->get_product();
   $product_id = $item->get_product_id();
   $variation_id = $item->get_variation_id();
   
   $name = $item->get_name();
   $quantity = $item->get_quantity();

   $subtotal = $item->get_subtotal();
   $total = $item->get_total();
   $tax = $item->get_subtotal_tax();

   $all_meta = $item->get_meta_data();
   $single_meta = $item->get_meta( '_meta_key', true );

   $type = $item->get_type();

   // 等等...
}

在这里,我们循环订单项目并使用 getter 方法获取值,如我们在上面使用的那样。

因此,在本文中,我们使用:

WC_Order

wc_get_order()

get_data()

get_items()

我希望通过本文介绍,你可以掌握如何获取 WooCommerce 订单详细信息并使用它。

注:本文内容出自 yourblogcoach.com,由 WordPress大学 翻译整理。

来源:

https://www.wpdaxue.com/how-to-get-woocommerce-order-details.html

微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?