喜爱 我正在尝试创建一个新订单和我的代码如下
{
$products = $_POST['products'];
$shipping_address = $_POST['shipping_address'];
$billing_address = $_POST['billing_address'];
global $woocommerce;
$args = array(
'customer_id' => get_current_user_id(),
);
$order = wc_create_order($args);
foreach ($products as $product) {
$order->add_product(get_product($product['id']), $product['quantity']);
}
$order->set_address($shipping_address, 'shipping');
$order->set_address($billing_address, 'billing');
$order->calculate_totals();
wp_send_json(array("success" => true, "order" => $order));
}
问题
1.Shipping地址和帐单邮寄地址未更新。 (参考图片)。我正在经过田野 https://docs.woocommerce.com/document/tutorial-customising-checkout-fields-using-actions-and-filters/ 显示在计费和运输中。
2.我需要有自定义字段,如(首选取件日期),如何将该字段作为meta_data添加到该订单
3.如何获得新创建的order_id,即成功或错误
答案 0 :(得分:1)
1,您需要使用$order->save();
来保存您对订单所做的更新。
2,使用$order->update_meta_data( 'meta_field', $data );
,不要忘记$order->save();
3,您从$order
通过$order->get_id();
4,没试过优惠券,但我相信你会这样做。