将产品添加到以编程方式创建的订单中,得出的数量总计为0

时间:2019-05-08 22:00:16

标签: woocommerce

我正在利用提供的代码以编程方式创建订单,如下所示:

$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,订单明细中没有产品。

0 个答案:

没有答案