Kon*_* E. 8 php wordpress shipping orders woocommerce
如何获得订单发货方式ID ....
例如'flate_rate'.
自从WooCommerce 3.xx以来,一切都变得不那么容易.
我$order->get_data()在foreach循环中尝试了它,但数据受到保护.
Loi*_*tec 18
如果要获取订单项运输数据,首先需要在foreach循环中获取它们(对于'shipping'项类型)并使用WC_Order_Item_Shipping方法来访问数据
$order_id = 528; // For example
// An instance of
$order = wc_get_order($order_id);
// Iterating through order shipping items
foreach( $order->get_items( 'shipping' ) as $item_id => $shipping_item_obj ){
$order_item_name = $shipping_item_obj->get_name();
$order_item_type = $shipping_item_obj->get_type();
$shipping_method_title = $shipping_item_obj->get_method_title();
$shipping_method_id = $shipping_item_obj->get_method_id(); // The method ID
$shipping_method_instance_id = $shipping_item_obj->get_instance_id(); // The instance ID
$shipping_method_total = $shipping_item_obj->get_total();
$shipping_method_total_tax = $shipping_item_obj->get_total_tax();
$shipping_method_taxes = $shipping_item_obj->get_taxes();
}
Run Code Online (Sandbox Code Playgroud)
您还可以使用此foreach循环内的WC_Data方法获取get_data()此数据(未受保护且可访问的)数据:
$order_id = 528; // For example
// An instance of
$order = wc_get_order($order_id);
// Iterating through order shipping items
foreach( $order->get_items( 'shipping' ) as $item_id => $shipping_item_obj ){
// Get the data in an unprotected array
$shipping_item_data = $shipping_item_obj->get_data();
$shipping_data_id = $shipping_data['id'];
$shipping_data_order_id = $shipping_data['order_id'];
$shipping_data_name = $shipping_data['name'];
$shipping_data_method_title = $shipping_data['method_title'];
$shipping_data_method_id = $shipping_data['method_id'];
$shipping_data_instance_id = $shipping_data['instance_id'];
$shipping_data_total = $shipping_data['total'];
$shipping_data_total_tax = $shipping_data['total_tax'];
$shipping_data_taxes = $shipping_data['taxes'];
}
Run Code Online (Sandbox Code Playgroud)
要完成,您可以使用以下WC_Abstract_Order与"运送数据"相关的方法,如下例所示:
// Get an instance of the WC_Order object
$order = wc_get_order(522);
// Return an array of shipping costs within this order.
$order->get_shipping_methods(); // same thing than $order->get_items('shipping')
// Conditional function based on the Order shipping method
if( $order->has_shipping_method('flat_rate') ) {
// Output formatted shipping method title.
echo '<p>Shipping method name: '. $order->get_shipping_method()) .'</p>';
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14494 次 |
| 最近记录: |