WC_Order_Item::apply_changes()publicWC 3.2.0

Merge changes with data and clear. Overrides WC_Data::apply_changes. array_replace_recursive does not work well for order items because it merges taxes instead of replacing them.

Method of the class: WC_Order_Item{}

No Hooks.

Return

null. Nothing (null).

Usage

$WC_Order_Item = new WC_Order_Item();
$WC_Order_Item->apply_changes();

Changelog

Since 3.2.0 Introduced.

WC_Order_Item::apply_changes() code WC 8.7.0

public function apply_changes() {
	if ( function_exists( 'array_replace' ) ) {
		$this->data = array_replace( $this->data, $this->changes ); // phpcs:ignore PHPCompatibility.FunctionUse.NewFunctions.array_replaceFound
	} else { // PHP 5.2 compatibility.
		foreach ( $this->changes as $key => $change ) {
			$this->data[ $key ] = $change;
		}
	}
	$this->changes = array();
}