Automattic\WooCommerce\StoreApi\Utilities

QuantityLimits::normalize_cart_item_quantity()publicWC 1.0

Fix a quantity violation by adjusting it to the nearest valid quantity.

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

Хуков нет.

Возвращает

int.

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

$QuantityLimits = new QuantityLimits();
$QuantityLimits->normalize_cart_item_quantity( $quantity, $cart_item );
$quantity(int) (обязательный)
The quantity to fix.
$cart_item(массив) (обязательный)
The cart item.

Код QuantityLimits::normalize_cart_item_quantity() WC 9.5.1

public function normalize_cart_item_quantity( int $quantity, array $cart_item ) {
	$product = $cart_item['data'] ?? false;

	if ( ! $product instanceof \WC_Product ) {
		return $quantity;
	}

	$limits       = $this->get_cart_item_quantity_limits( $cart_item );
	$new_quantity = $quantity;

	if ( $new_quantity % $limits['multiple_of'] ) {
		$new_quantity = $this->limit_to_multiple( $new_quantity, $limits['multiple_of'], 'round' );
	}

	if ( $new_quantity < $limits['minimum'] ) {
		$new_quantity = $limits['minimum'];
	}

	if ( $new_quantity > $limits['maximum'] ) {
		$new_quantity = $limits['maximum'];
	}

	return $new_quantity;
}