Мой код создает заказ woocommerce программно при отправке гравитационной формы. Мне интересно, если кто-нибудь знает, как вернуть идентификатор заказа?
Я хотел бы иметь код, чтобы перенаправить пользователя на проверку этого идентификатора заказа, чтобы они могли оплатить.
Любой что я могу отправить идентификатор заказа обратно в форму? в поле идентификатора заказа?
Вот мой код:
$product_id = rgar( $entry, '16' );
$quantity = 1;
$price = rgar( $entry, '11' );
$note = rgar( $entry, '22' );
$product = wc_get_product($product_id);
// Set price
$product->set_price( $price );
$address = array(
'first_name' => rgar( $entry, '27' ),
'last_name' => rgar( $entry, '28' ),
'email' => rgar( $entry, '24' ),
'phone' => rgar( $entry, '25' ),
'address_1' => rgar( $entry, '33.1' ),
'address_2' => rgar( $entry, '33.2' ),
'city' => rgar( $entry, '33.3' ),
'state' => rgar( $entry, '33.4' ),
'postcode' => rgar( $entry, '33.5' ),
'country' => rgar( $entry, '33.6' ),
);
// Create the order object
$order = wc_create_order();
$order->set_customer_id( $user_id );
// add product to order
$order->add_product( $product, $quantity );
foreach ($order->get_items() as $item_key => $item ) {
$item->add_meta_data( 'Label', $note, true );
}
$order->set_address( $address, 'billing' );
$order->calculate_totals();
$order->update_status( 'pending payment', 'pending', TRUE);
$order->add_order_note( $note );
$new_ship_price = rgar( $entry, '21' );
$item->set_total( $new_ship_price ); // (optional)```