WC_Helper_Product::create_simple_product PHP Method

create_simple_product() public static method

Create simple product.
Since: 2.3
public static create_simple_product ( ) : WC_Product_Simple
return WC_Product_Simple
    public static function create_simple_product()
    {
        // Create the product
        $product = wp_insert_post(array('post_title' => 'Dummy Product', 'post_type' => 'product', 'post_status' => 'publish'));
        update_post_meta($product, '_price', '10');
        update_post_meta($product, '_regular_price', '10');
        update_post_meta($product, '_sale_price', '');
        update_post_meta($product, '_sku', 'DUMMY SKU');
        update_post_meta($product, '_manage_stock', 'no');
        update_post_meta($product, '_tax_status', 'taxable');
        update_post_meta($product, '_downloadable', 'no');
        update_post_meta($product, '_virtual', 'no');
        update_post_meta($product, '_visibility', 'visible');
        update_post_meta($product, '_stock_status', 'instock');
        wp_set_object_terms($product, 'simple', 'product_type');
        return new WC_Product_Simple($product);
    }

Usage Example

 /**
  * Create a order.
  *
  * @since 2.4
  *
  * @return WC_Order Order object.
  */
 public static function create_order()
 {
     // Create product
     $product = WC_Helper_Product::create_simple_product();
     WC_Helper_Shipping::create_simple_flat_rate();
     $order_data = array('status' => 'pending', 'customer_id' => 1, '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, 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' => '*****@*****.**', '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_total(10, 'shipping');
     $order->set_total(0, 'cart_discount');
     $order->set_total(0, 'cart_discount_tax');
     $order->set_total(0, 'tax');
     $order->set_total(0, 'shipping_tax');
     $order->set_total(40, 'total');
     // 4 x $10 simple helper product
     return wc_get_order($order->id);
 }
All Usage Examples Of WC_Helper_Product::create_simple_product