Abstract_WC_Order_Data_Store_CPT::read_order_data
Read order data. Can be overridden by child classes to load other props.
Метод класса: Abstract_WC_Order_Data_Store_CPT{}
Хуков нет.
Возвращает
null. Ничего (null).
Использование
// protected - в коде основоного (родительского) или дочернего класса $result = $this->read_order_data( $order, $post_object );
- $order(WC_Order) (обязательный) (передается по ссылке — &)
- Order object.
- $post_object(объект) (обязательный)
- Post object.
Список изменений
| С версии 3.0.0 | Введена. |
Код Abstract_WC_Order_Data_Store_CPT::read_order_data() Abstract WC Order Data Store CPT::read order data WC 10.8.1
protected function read_order_data( &$order, $post_object ) {
$id = $order->get_id();
$meta_data = get_post_meta( $id );
$prices_include_tax = $meta_data['_prices_include_tax'][0] ?? '';
$this->set_order_props(
$order,
array(
'currency' => $meta_data['_order_currency'][0] ?? '',
'discount_total' => $meta_data['_cart_discount'][0] ?? '',
'discount_tax' => $meta_data['_cart_discount_tax'][0] ?? '',
'shipping_total' => $meta_data['_order_shipping'][0] ?? '',
'shipping_tax' => $meta_data['_order_shipping_tax'][0] ?? '',
'cart_tax' => $meta_data['_order_tax'][0] ?? '',
'total' => $meta_data['_order_total'][0] ?? '',
'version' => $meta_data['_order_version'][0] ?? '',
'prices_include_tax' => metadata_exists( 'post', $id, '_prices_include_tax' ) ? 'yes' === $prices_include_tax : 'yes' === get_option( 'woocommerce_prices_include_tax' ),
)
);
// Gets extra data associated with the order if needed.
foreach ( $order->get_extra_data_keys() as $key ) {
$function = 'set_' . $key;
if ( is_callable( array( $order, $function ) ) ) {
$order->{$function}( $meta_data[ '_' . $key ][0] ?? '' );
}
}
}