【发布时间】:2018-06-03 17:07:07
【问题描述】:
最喜欢的 我正在尝试创建一个新订单,我的代码如下
{
$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.收货地址和账单地址没有更新。 (参考图片)。我将字段传递为 https://docs.woocommerce.com/document/tutorial-customising-checkout-fields-using-actions-and-filters/ 显示在帐单和运费中。
2.我需要自定义字段,例如(首选取货日期),如何将该字段作为元数据添加到该订单
3.如何获取新创建的order_id即成功或错误
- 如何将优惠券附加到总数中
【问题讨论】:
-
我不认为 $_POST['shipping_address'] 填充了正确的信息。您应该使用正确的字段而不是不存在的数组。例如,名字在 $_POST['billing_first_name'] 中设置(默认情况下)。为了更好地帮助您,获取 $_POST 的 print_r 会很有帮助。
标签: woocommerce