WC_Order_Item_Shipping_Data_Store::save_item_data()publicWC 3.0.0

Saves an item's data to the database / item meta. Ran after both create and update, so $id will be set.

Method of the class: WC_Order_Item_Shipping_Data_Store{}

No Hooks.

Return

null. Nothing (null).

Usage

$WC_Order_Item_Shipping_Data_Store = new WC_Order_Item_Shipping_Data_Store();
$WC_Order_Item_Shipping_Data_Store->save_item_data( $item );
$item(WC_Order_Item_Shipping) (required) (passed by reference — &)
Item to save.

Changelog

Since 3.0.0 Introduced.

WC_Order_Item_Shipping_Data_Store::save_item_data() code WC 9.4.2

public function save_item_data( &$item ) {
	$id                = $item->get_id();
	$changes           = $item->get_changes();
	$meta_key_to_props = array(
		'method_id'   => 'method_id',
		'instance_id' => 'instance_id',
		'cost'        => 'total',
		'total_tax'   => 'total_tax',
		'taxes'       => 'taxes',
	);
	$props_to_update   = $this->get_props_to_update( $item, $meta_key_to_props, 'order_item' );

	foreach ( $props_to_update as $meta_key => $prop ) {
		update_metadata( 'order_item', $id, $meta_key, $item->{"get_$prop"}( 'edit' ) );
	}
}