Automattic\WooCommerce\StoreApi\Utilities
QuantityLimits::validate_cart_item_quantity()
Check that a given quantity is valid according to any limits in place.
Метод класса: QuantityLimits{}
Хуков нет.
Возвращает
\WP_Error|true
.
Использование
$QuantityLimits = new QuantityLimits(); $QuantityLimits->validate_cart_item_quantity( $quantity, $cart_item );
- $quantity(int) (обязательный)
- Quantity to validate.
- $cart_item(массив) (обязательный)
- Cart item.
Код QuantityLimits::validate_cart_item_quantity() QuantityLimits::validate cart item quantity WC 9.5.1
public function validate_cart_item_quantity( $quantity, $cart_item ) { $limits = $this->get_cart_item_quantity_limits( $cart_item ); $product = $cart_item['data'] ?? false; if ( ! $product instanceof \WC_Product ) { return true; } if ( ! $limits['editable'] ) { /* translators: 1: product name */ return new \WP_Error( 'readonly_quantity', sprintf( __( 'The quantity of "%1$s" cannot be changed', 'woocommerce' ), $product->get_name() ) ); } if ( $quantity < $limits['minimum'] ) { /* translators: 1: product name 2: minimum quantity */ return new \WP_Error( 'invalid_quantity', sprintf( __( 'The minimum quantity of "%1$s" allowed in the cart is %2$s', 'woocommerce' ), $product->get_name(), $limits['minimum'] ) ); } if ( $quantity > $limits['maximum'] ) { /* translators: 1: product name 2: maximum quantity */ return new \WP_Error( 'invalid_quantity', sprintf( __( 'The maximum quantity of "%1$s" allowed in the cart is %2$s', 'woocommerce' ), $product->get_name(), $limits['maximum'] ) ); } if ( $quantity % $limits['multiple_of'] ) { /* translators: 1: product name 2: multiple of */ return new \WP_Error( 'invalid_quantity', sprintf( __( 'The quantity of "%1$s" must be a multiple of %2$s', 'woocommerce' ), $product->get_name(), $limits['multiple_of'] ) ); } return true; }