Automattic\WooCommerce\StoreApi\Utilities

QuantityLimits::get_add_to_cart_limitspublicWC 1.0

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() 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,
	];
}