我正在尝试将订购的商品放在数组中,以便在woocommerce感谢您的页面中进一步传递值。我目前正在获取所有订单项名称,sku等,没有逗号或任何内容。
foreach ($order->get_items() as $item_id => $item_data) {
// Get an instance of corresponding the WC_Product object
$product = $item_data->get_product();
$product_name = $product->get_name(); // Get the product name
$item_quantity = $item_data->get_quantity(); // Get the item quantity
$sku = $product->get_sku();
$item_total = $item_data->get_total(); // Get the item line total
// Displaying this data (to check)
echo 'NAME: '.$product_name.' | Quantity: '.$item_quantity.' | Item total: '. number_format( $item_total, 2 );
}
当前结果
答案 0 :(得分:0)
这可以通过以下方式轻松完成:
add_action( 'woocommerce_thankyou', 'thankyou_custom_items_data', 20, 1 );
function thankyou_custom_items_data( $order_id ) {
// Get an instance of the the WC_Order Object
$order = wc_get_order( $order_id );
$items_data = array();
foreach ($order->get_items() as $item_id => $item ) {
// Get an instance of corresponding the WC_Product object
$product = $item->get_product();
$items_data[$item_id] = array(
'name' => $product->get_name(),
'sku' => $product->get_sku(),
'quantity' => $item->get_quantity(),
'item_total' => number_format( $item->get_total(), 2 )
);
}
// Testing array raw output
echo '<pre>'; print_r( $items_data ); echo '</pre>';
}
代码进入活动子主题(或活动主题)的function.php文件。经过测试并正常工作。
您将获得如下原始输出:
Array (
[776] => Array (
[name] => Happy Ninja
[sku] => HN2563
[quantity] => 1
[item_total] => 36.36
)
[777] => Array (
[name] => Patient Ninja
[sku] => PN2559
[quantity] => 1
[item_total] => 29.17
)
)
相关:Get Order items and WC_Order_Item_Product in Woocommerce 3