2
我有一個用於創建訂單的自定義API端點,但是我創建的訂單沒有任何運費,我也希望可以添加優惠券代碼給他們。這是我到目前爲止有:向WooCommerce添加送貨和優惠券wc_create_order()創建的訂單
$address = array(
'first_name' => $payload['customer']['firstName'],
'last_name' => $payload['customer']['lastName'],
'email' => $payload['customer']['email'],
'phone' => $payload['customer']['phone'],
'address_1' => $payload['customer']['line1'],
'address_2' => $payload['customer']['line2'],
'city' => $payload['customer']['city'],
'state' => $payload['customer']['state'],
'postcode' => $payload['customer']['zip'],
'country' => 'US'
);
$order = wc_create_order();
foreach ($payload['items'] as $item) {
$order->add_product(get_product_by_sku($item['sku']), $item['qty']);
}
$order->set_address($address, 'billing');
$order->set_address($address, 'shipping');
$order->add_coupon(sanitize_text_field('couponcode'));
$order->update_status('processing');
$order->calculate_shipping();
$order->calculate_totals();
順序創建如同預期,但沒有運輸費用,以及優惠券代碼被應用,但是從優惠券的折扣不露面,總價格保持不變。任何幫助,將不勝感激!
我剛剛嘗試使用add_shipping()方法後發現此:https://stackoverflow.com/questions/27573822/add-shipping-on-wc-create-order-woo-commerce但它沒有奏效。 ('','shipping',3354)由do_action(' wp_ajax_jsonp_order'),call_user_func_array,jsonp_create_order_api,WC_Abstract_Order-> add_shipping,wc_add_order_item' – bhamrick