Abstract_WC_Order_Data_Store_CPT::update_order_meta_from_object()privateWC 1.0

Helper method to update order metadata from intialized order object.

{} Это метод класса: Abstract_WC_Order_Data_Store_CPT{}

Хуков нет.

Возвращает

null. Ничего.

Использование

// private - только в коде основоного (родительского) класса
$result = $this->update_order_meta_from_object( $order );
$order(WC_Abstract_Order) (обязательный)
Order object.

Код Abstract_WC_Order_Data_Store_CPT::update_order_meta_from_object() WC 7.1.0

private function update_order_meta_from_object( $order ) {
	if ( is_null( $order->get_meta() ) ) {
		return;
	}

	$existing_meta_data = get_post_meta( $order->get_id() );

	foreach ( $order->get_meta_data() as $meta_data ) {
		if ( isset( $existing_meta_data[ $meta_data->key ] ) ) {
			if ( $existing_meta_data[ $meta_data->key ] === $meta_data->value ) {
				continue;
			}
			delete_post_meta( $order->get_id(), $meta_data->key );
			unset( $existing_meta_data[ $meta_data->key ] );
		}
		add_post_meta( $order->get_id(), $meta_data->key, $meta_data->value, false );
	}

	$this->update_post_meta( $order );
}