Untitled
unknown
plain_text
8 months ago
2.3 kB
13
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