Untitled

 avatar
unknown
plain_text
a month ago
2.0 kB
5
Indexable
function wc_variation_min_qty_script() {
    ?>
    <script type="text/javascript">
    // Check if the script has already been initialized
    if (typeof window.wc_variation_min_qty_initialized === 'undefined') {
        window.wc_variation_min_qty_initialized = true;

        jQuery(document).ready(function() {
            // Function to update quantity to minimum value
            function updateQuantityToMin() {
                var variationData = jQuery('.woocommerce-variation-availability').data('min_qty');
                if (typeof variationData !== 'undefined') {
                    jQuery('input.qty').val(variationData).trigger('change');
                } else {
                    var minQty = jQuery('input.qty').attr('min');
                    if (typeof minQty !== 'undefined' && minQty !== false) {
                        jQuery('input.qty').val(minQty).trigger('change');
                    } else {
                        jQuery('input.qty').val(1).trigger('change');
                    }
                }
            }

            // Handle variation selection
            jQuery(document).on('found_variation', 'form.cart', function(event, variation) {
                if (variation.min_qty) {
                    jQuery('.woocommerce-variation-availability').data('min_qty', variation.min_qty);
                    jQuery('input.qty').val(variation.min_qty).trigger('change');
                } else {
                    jQuery('.woocommerce-variation-availability').removeData('min_qty');
                    updateQuantityToMin();
                }
            });

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