Untitled

 avatar
unknown
plain_text
18 days ago
2.3 kB
9
Indexable
function wc_variation_min_qty_script() {
    ?>
    <script type="text/javascript">
    jQuery(document).ready(function() {
        // Function to update quantity to minimum value
        function updateQuantityToMin() {
            // Get the current variation data
            var variationData = jQuery('.woocommerce-variation-availability').data('min_qty');
            
            // If variation has specific min_qty data
            if (typeof variationData !== 'undefined') {
                // Set quantity input to the minimum value
                jQuery('input.qty').val(variationData).trigger('change');
            } else {
                // If no specific min_qty, try to get the min attribute from the input
                var minQty = jQuery('input.qty').attr('min');
                if (typeof minQty !== 'undefined' && minQty !== false) {
                    jQuery('input.qty').val(minQty).trigger('change');
                } else {
                    // Default to 1 if no minimum is specified
                    jQuery('input.qty').val(1).trigger('change');
                }
            }
        }

        // Run when variations are found and initialized
        jQuery(document).on('found_variation', 'form.cart', function(event, variation) {
            // Get minimum quantity from variation data if available
            if (variation.min_qty) {
                // Store min_qty in the variation availability element for later use
                jQuery('.woocommerce-variation-availability').data('min_qty', variation.min_qty);
                // Set quantity to minimum
                jQuery('input.qty').val(variation.min_qty).trigger('change');
            } else {
                // Remove stored min_qty if not in current variation
                jQuery('.woocommerce-variation-availability').removeData('min_qty');
                // Try to get default minimum
                updateQuantityToMin();
            }
        });

        //  handle reset events when user clears selection
        jQuery(document).on('reset_data', 'form.cart', function() {
            jQuery('.woocommerce-variation-availability').removeData('min_qty');
            updateQuantityToMin();
        });
    });
    </script>
    <?php
}
add_action('wp_head', 'wc_variation_min_qty_script');
Editor is loading...
Leave a Comment