26

プログラムで Woocommerce 注文を作成する必要がありましたが、「古い」Woocommerce を使用すると、これは非常に汚い手順になりました。

多くの update_post_meta 呼び出しを使用して、あらゆる種類のデータベース レコードを手動で挿入する必要がありました。

より良い解決策を探しています。

4

4 に答える 4

47

WooCommerceの最新バージョンでは、これを次のように試すことができます

$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();

上記のコードを関数で呼び出すと、それに応じて機能します。

2.1.12 のような古いバージョンの WooCommerce では動作しないことに注意してください。WooCommerce の 2.2 以降でのみ動作します。

それが役に立てば幸い

于 2014-10-27T13:14:13.500 に答える