添加项目到订单


WooCommerce Add item to Order

我试图添加一个项目到一个存在的订单,但它不能正常工作…每次我执行下面的代码广告和空项,有帮助吗?

woocommerce_add_order_item($Novo_PostId, $item);

$item是var,它从另一个订单中接收项目本身,我已经设置了print_r($item),它似乎是ok的。

从wc2.2开始,向新订单中添加商品变得更简单了:

 $product = wc_get_product($product_id);
 wc_get_order($order_id)->add_product($product, $quantity);

使用woocommerce_add_order_item创建项目后,必须使用woocommerce_add_order_item_meta()设置元数据,参见:http://docs.woothemes.com/wc-apidocs/function-woocommerce_add_order_item_meta.html

类似:

            $item_id = woocommerce_add_order_item( $order_id, array(
                    'order_item_name'       => '',
                    'order_item_type'       => 'line_item'
            ) );
            if ( $item_id ) {
                    $foreach($metavalues as $key=>$value)
                    {
                    woocommerce_add_order_item_meta( $item_id,$key,$value);
                    }
             }