Abstract_WC_Order_Item_Type_Data_Store::update()publicWC 3.0.0

Update a order item in the database.

Method of the class: Abstract_WC_Order_Item_Type_Data_Store{}

Hooks from the method

Return

null. Nothing (null).

Usage

$Abstract_WC_Order_Item_Type_Data_Store = new Abstract_WC_Order_Item_Type_Data_Store();
$Abstract_WC_Order_Item_Type_Data_Store->update( $item );
$item(WC_Order_Item) (required) (passed by reference — &)
Order item object.

Changelog

Since 3.0.0 Introduced.

Abstract_WC_Order_Item_Type_Data_Store::update() code WC 9.4.2

public function update( &$item ) {
	global $wpdb;

	$changes = $item->get_changes();

	if ( array_intersect( array( 'name', 'order_id' ), array_keys( $changes ) ) ) {
		$wpdb->update(
			$wpdb->prefix . 'woocommerce_order_items',
			array(
				'order_item_name' => $item->get_name(),
				'order_item_type' => $item->get_type(),
				'order_id'        => $item->get_order_id(),
			),
			array( 'order_item_id' => $item->get_id() )
		);
	}

	$this->save_item_data( $item );
	$item->save_meta_data();
	$item->apply_changes();
	$this->clear_cache( $item );

	do_action( 'woocommerce_update_order_item', $item->get_id(), $item, $item->get_order_id() );
}