get_items() as $item ) : WC_Helper_Product::delete_product( $item['product_id'] ); endforeach; WC_Helper_Shipping::delete_simple_flat_rate(); // Delete the order post wp_delete_post( $order_id, true ); } /** * Create a order. * * @since 2.4 * * @return WC_Order Order object. */ public static function create_order( $customer_id = 1 ) { // Create product $product = WC_Helper_Product::create_simple_product(); WC_Helper_Shipping::create_simple_flat_rate(); $order_data = array( 'status' => 'pending', 'customer_id' => $customer_id, 'customer_note' => '', 'total' => '', ); $_SERVER['REMOTE_ADDR'] = '127.0.0.1'; // Required, else wc_create_order throws an exception $order = wc_create_order( $order_data ); // Add order products $item_id = $order->add_product( $product, array( 'qty' => 4 ) ); // Set billing address $billing_address = array( 'country' => 'US', 'first_name' => 'Jeroen', 'last_name' => 'Sormani', 'company' => 'WooCompany', 'address_1' => 'WooAddress', 'address_2' => '', 'postcode' => '123456', 'city' => 'WooCity', 'state' => 'NY', 'email' => 'admin@example.org', 'phone' => '555-32123', ); $order->set_address( $billing_address, 'billing' ); // Add shipping costs $shipping_taxes = WC_Tax::calc_shipping_tax( '10', WC_Tax::get_shipping_tax_rates() ); $order->add_shipping( new WC_Shipping_Rate( 'flat_rate_shipping', 'Flat rate shipping', '10', $shipping_taxes, 'flat_rate' ) ); // Set payment gateway $payment_gateways = WC()->payment_gateways->payment_gateways(); $order->set_payment_method( $payment_gateways['bacs'] ); // Set totals $order->set_shipping_total( 10 ); $order->set_discount_total( 0 ); $order->set_discount_tax( 0 ); $order->set_cart_tax( 0 ); $order->set_shipping_tax( 0 ); $order->set_total( 40 ); // 4 x $10 simple helper product return wc_get_order( $order->get_id() ); } }