Abstract_WC_Order_Data_Store_CPT::read( WC_Order $order )
Method to read an order from the database.
Description Description
Parameters Parameters
- $order
-
(WC_Order) (Required) Order object.
Source Source
File: includes/data-stores/abstract-wc-order-data-store-cpt.php
public function read( &$order ) { $order->set_defaults(); $post_object = get_post( $order->get_id() ); if ( ! $order->get_id() || ! $post_object || ! in_array( $post_object->post_type, wc_get_order_types(), true ) ) { throw new Exception( __( 'Invalid order.', 'woocommerce' ) ); } $order->set_props( array( 'parent_id' => $post_object->post_parent, 'date_created' => 0 < $post_object->post_date_gmt ? wc_string_to_timestamp( $post_object->post_date_gmt ) : null, 'date_modified' => 0 < $post_object->post_modified_gmt ? wc_string_to_timestamp( $post_object->post_modified_gmt ) : null, 'status' => $post_object->post_status, ) ); $this->read_order_data( $order, $post_object ); $order->read_meta_data(); $order->set_object_read( true ); /** * In older versions, discounts may have been stored differently. * Update them now so if the object is saved, the correct values are * stored. @todo When meta is flattened, handle this during migration. */ if ( version_compare( $order->get_version( 'edit' ), '2.3.7', '<' ) && $order->get_prices_include_tax( 'edit' ) ) { $order->set_discount_total( (float) get_post_meta( $order->get_id(), '_cart_discount', true ) - (float) get_post_meta( $order->get_id(), '_cart_discount_tax', true ) ); } }