Abstract_WC_Order_Data_Store_CPT::update_order_meta_from_object()privateWC 1.0

Helper method to update order metadata from intialized order object.

Method of the class: Abstract_WC_Order_Data_Store_CPT{}

No Hooks.

Return

null. Nothing.

Usage

// private - for code of main (parent) class only
$result = $this->update_order_meta_from_object( $order );
$order(WC_Abstract_Order) (required)
Order object.

Abstract_WC_Order_Data_Store_CPT::update_order_meta_from_object() code WC 7.5.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 );
}