Automattic\WooCommerce\StoreApi\Utilities
QuantityLimits::get_add_to_cart_limits
Get limits for product add to cart forms.
Method of the class: QuantityLimits{}
No Hooks.
Returns
Array.
Usage
$QuantityLimits = new QuantityLimits(); $QuantityLimits->get_add_to_cart_limits( $product, $cart_item );
- $product(WC_Product) (required)
- Product instance.
- $cart_item(array|null)
- Optional cart item associated with the product.
Default: null
QuantityLimits::get_add_to_cart_limits() QuantityLimits::get add to cart limits code WC 10.3.5
public function get_add_to_cart_limits( \WC_Product $product, $cart_item = null ) {
// Compatibility with the woocommerce_quantity_input_args filter. Gets initial values to match classic quantity input.
$args = wc_get_quantity_input_args( [], $product );
$minimum = $this->filter_numeric_value( $args['min_value'], 'minimum', $product, $cart_item );
$maximum = $this->filter_numeric_value(
$this->adjust_product_quantity_limit( $args['max_value'], $product, $cart_item ),
'maximum',
$product,
$cart_item
);
$multiple_of = $this->filter_numeric_value( $args['step'], 'multiple_of', $product, $cart_item );
// Ensure values are compatible with each other.
$minimum = max( $multiple_of, $this->limit_to_multiple( $minimum, $multiple_of, 'ceil' ) );
$maximum = max( $minimum, $this->limit_to_multiple( $maximum, $multiple_of, 'floor' ) );
return [
'minimum' => $minimum,
'maximum' => $maximum,
'multiple_of' => $multiple_of,
];
}