В woocommerce я использую плагин WooCommerce Subscriptions. Я создал функцию, которая может создавать заказ на основе артикула продукта с помощью функции wc_get_product_id_by_sku()
из продукта по подписке.
Это моя функция на данный момент:
function create_new_order() {
global $woocommerce;
$address = array(
'first_name' => 'Zakup',
'last_name' => 'Sklepowy',
'email' => '[email protected]',
'phone' => '123',
'address_1' => 'ul. Przykladowa 1',
'address_2' => 'm. 2',
'city' => 'Wroclaw',
'postcode' => '50-123',
);
$order = wc_create_order();
$product = new WC_Product( wc_get_product_id_by_sku( 'wpoh-prof-webshop' ) );
$order->add_product( $product, 1 );
$order->set_address( $address, 'billing' );
// Set payment gateway
$payment_gateways = WC()->payment_gateways->payment_gateways();
$order->set_payment_method( $payment_gateways['cod'] );
// Calculate totals
$order->calculate_totals();
$order->update_status( 'completed', 'In Store ', true );
}
С этой строкой:
$product = new WC_Product (wc_get_product_id_by_sku ('wpoh-prof-webshop'));
Я забираю товар и ставлю его вместе с заказом. Я жестко запрограммировал платежный адрес клиента в этой функции, как это требуется.
Когда я запускаю функцию, создается пустой заказ, к которому не привязан ни продукт, ни адрес.
заказ создан без личной информации или продукта:
Может ли кто-нибудь помочь мне и сказать, где что-то пошло не так?