dqnqpqv3841 2014-10-27 05:06
浏览 306
已采纳

以编程方式使用Woocommerce中的订单项创建订单

I needed to create a Woocommerce order programatically, however using the 'old' Woocommerce made this a very dirty procedure.

I had to insert all kind of database records manually, using many update_post_meta calls.

Looking for a better solution.

  • 写回答

3条回答 默认 最新

  • dtk31564 2014-10-27 13:14
    关注

    With latest version of WooCommerce is possible try this as something like

    $address = array(
                'first_name' => 'Fresher',
                'last_name'  => 'StAcK OvErFloW',
                'company'    => 'stackoverflow',
                'email'      => 'test@test.com',
                'phone'      => '777-777-777-777',
                'address_1'  => '31 Main Street',
                'address_2'  => '', 
                'city'       => 'Chennai',
                'state'      => 'TN',
                'postcode'   => '12345',
                'country'    => 'IN'
            );
    
            $order = wc_create_order();
            $order->add_product( get_product( '12' ), 2 ); //(get_product with id and next is for quantity)
            $order->set_address( $address, 'billing' );
            $order->set_address( $address, 'shipping' );
            $order->add_coupon('Fresher','10','2'); // accepted param $couponcode, $couponamount,$coupon_tax
            $order->calculate_totals();
    

    Call this above code with your function then it will work accordingly.

    Note it not work with old version of WooCommerce like 2.1.12, It works only from 2.2 of WooCommerce.

    Hope it helps

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 chaquopy python 安卓
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 有没有帮写代码做实验仿真的
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥30 vmware exsi重置后登不上
  • ¥15 易盾点选的cb参数怎么解啊
  • ¥15 MATLAB运行显示错误,如何解决?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题