Создать заказ Woocommerce и получить идентификатор заказа - PullRequest
0 голосов
/ 18 марта 2020

Мой код создает заказ 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)```
...