Abstract_WC_Order_Data_Store_CPT::read()publicWC 1.0

Method to read an order from the database.

Method of the class: Abstract_WC_Order_Data_Store_CPT{}

No Hooks.

Return

null. Nothing (null).

Usage

$Abstract_WC_Order_Data_Store_CPT = new Abstract_WC_Order_Data_Store_CPT();
$Abstract_WC_Order_Data_Store_CPT->read( $order );
$order(WC_Order) (required) (passed by reference — &)
Order object.

Abstract_WC_Order_Data_Store_CPT::read() code WC 8.6.1

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' ) );
	}

	$this->set_order_props(
		$order,
		array(
			'parent_id'     => $post_object->post_parent,
			'date_created'  => $this->string_to_timestamp( $post_object->post_date_gmt ),
			'date_modified' => $this->string_to_timestamp( $post_object->post_modified_gmt ),
			'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.
	 */
	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 ) );
	}
}