WC_Order_Item_Product_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.

Метод класса: WC_Order_Item_Product_Data_Store{}

Хуков нет.

Возвращает

null. Ничего (null).

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

$WC_Order_Item_Product_Data_Store = new WC_Order_Item_Product_Data_Store();
$WC_Order_Item_Product_Data_Store->save_item_data( $item );
$item(WC_Order_Item_Product) (обязательный) (передается по ссылке — &)
Product order item object.

Список изменений

С версии 3.0.0 Введена.

Код WC_Order_Item_Product_Data_Store::save_item_data() WC 8.7.0

public function save_item_data( &$item ) {
	$id                = $item->get_id();
	$changes           = $item->get_changes();
	$meta_key_to_props = array(
		'_product_id'        => 'product_id',
		'_variation_id'      => 'variation_id',
		'_qty'               => 'quantity',
		'_tax_class'         => 'tax_class',
		'_line_subtotal'     => 'subtotal',
		'_line_subtotal_tax' => 'subtotal_tax',
		'_line_total'        => 'total',
		'_line_tax'          => 'total_tax',
		'_line_tax_data'     => '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' ) );
	}
}