2
注文を作成するカスタムAPIエンドポイントがありますが、作成する注文に送料がかかりません。彼らへ。ここで私がこれまで持っているものです。WooCommerceへの送料とクーポンの追加
$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が動作しませんでした。 'WordPressデータベースエラーが発生しました。 'order_item_name'列は、クエリに対してnullにはなりません。INSERT INTO 'do_action(' order_item_type '、' wp_ajax_jsonp_order ')、call_user_func_array、jsonp_create_order_api、WC_Abstract_Order-> add_shipping、wc_add_order_item' – bhamrick