Добавление продукта в заказ, созданный программным способом, дает количество, итого как 0 - PullRequest
0 голосов
/ 09 мая 2019

Я использую предоставленный код для программного создания заказа, который выглядит следующим образом:

$address = array (
            'first_name' => get_user_meta( $userid, 'shipping_first_name', true ),
            'last_name' => get_user_meta( $userid, 'shipping_last_name', true ),
            'email' => get_user_meta( $userid, 'billing_email', true ),
            'phone' => get_user_meta( $userid, 'billing_phone', true ),
            'address_1' => get_user_meta( $userid, 'shipping_address_1', true ),
            'city' => get_user_meta( $userid, 'shipping_city', true ),
            'country' => get_user_meta( $userid, 'shipping_country', true )
        ); 
    $order = wc_create_order(array('customer_id'=>$userid));
    update_post_meta( $order->id, '_customer_user', $userid );
    $order->set_address( $address, 'billing' );
    $product = new WC_Product($proid);  
    $order->add_product($product,1);
    $order->save();
    $order->calculate_totals();
    $order->update_status("Completed", 'quick buy order', TRUE);  

Есть три основных вопроса с этим.

1) Объект продукта выбирается совершенно нормально, но при добавлении в $ order он отображается в списке заказов как Кол-во: 0 Всего: 0

2) Изменение статуса заказа не оказывает никакого влияния, оно по-прежнему создает заказ со статусом «Ожидающий платеж»

3) Если статус заказа изменяется в списке заказов, то продукт полностью удаляется из заказа, а общая сумма отображается как 0 долл. США без продуктов в деталях заказа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...