Abstract_WC_Order_Data_Store_CPT::create PHP Метод

create() публичный Метод

Method to create a new order in the database.
public create ( WC_Order &$order )
$order WC_Order
    public function create(&$order)
    {
        $order->set_version(WC_VERSION);
        $order->set_date_created(current_time('timestamp'));
        $order->set_currency($order->get_currency() ? $order->get_currency() : get_woocommerce_currency());
        $id = wp_insert_post(apply_filters('woocommerce_new_order_data', array('post_date' => date('Y-m-d H:i:s', $order->get_date_created('edit')), 'post_date_gmt' => get_gmt_from_date(date('Y-m-d H:i:s', $order->get_date_created('edit'))), 'post_type' => $order->get_type('edit'), 'post_status' => 'wc-' . ($order->get_status('edit') ? $order->get_status('edit') : apply_filters('woocommerce_default_order_status', 'pending')), 'ping_status' => 'closed', 'post_author' => 1, 'post_title' => $this->get_post_title(), 'post_password' => uniqid('order_'), 'post_parent' => $order->get_parent_id('edit'), 'post_excerpt' => $this->get_post_excerpt($order))), true);
        if ($id && !is_wp_error($id)) {
            $order->set_id($id);
            $this->update_post_meta($order);
            $order->save_meta_data();
            $order->apply_changes();
            $this->clear_caches($order);
        }
    }

Usage Example

 /**
  * Method to create a new order in the database.
  * @param WC_Order $order
  */
 public function create(&$order)
 {
     $order->set_order_key('wc_' . apply_filters('woocommerce_generate_order_key', uniqid('order_')));
     parent::create($order);
     do_action('woocommerce_new_order', $order->get_id());
 }