Automattic\WooCommerce\StoreApi\Utilities
QuantityLimits::normalize_cart_item_quantity
Fix a quantity violation by adjusting it to the nearest valid quantity.
Метод класса: QuantityLimits{}
Хуков нет.
Возвращает
int|float.
Использование
$QuantityLimits = new QuantityLimits(); $QuantityLimits->normalize_cart_item_quantity( $quantity, $cart_item );
- $quantity(int|float) (обязательный)
- Quantity.
- $cart_item(массив) (обязательный)
- Cart item.
Код QuantityLimits::normalize_cart_item_quantity() QuantityLimits::normalize cart item quantity WC 10.5.0
public function normalize_cart_item_quantity( $quantity, array $cart_item ) {
$product = $cart_item['data'] ?? false;
if ( ! $product instanceof \WC_Product ) {
return wc_stock_amount( $quantity );
}
$quantity = NumberUtil::normalize( $quantity );
if ( 0 >= $quantity ) {
return wc_stock_amount( 0 );
}
$limits = $this->get_cart_item_quantity_limits( $cart_item );
$new_quantity = $this->limit_to_multiple( $quantity, $limits['multiple_of'], 'round' );
if ( $new_quantity < $limits['minimum'] ) {
$new_quantity = $limits['minimum'];
}
if ( $new_quantity > $limits['maximum'] ) {
$new_quantity = $limits['maximum'];
}
return wc_stock_amount( $new_quantity );
}