-
-
Save GeoffEW/075787fd6b427e1c47be0d756ca5b26c to your computer and use it in GitHub Desktop.
<?php | |
/* Tribe, limit ticket qty */ | |
function tribe_limit_tickets() { | |
?> | |
<script type="text/javascript"> | |
jQuery(document).ready( function( $ ) { | |
// do this if tickets available | |
if ( $('.tribe-events-tickets').length ) { | |
// set max qty to 1 | |
$('.tribe-events-tickets .tribe-ticket-quantity').attr('max', 1); | |
// run on input change | |
$('.tribe-events-tickets .tribe-ticket-quantity').change ( function ( ) { | |
// don't run the manually triggered change event | |
if ( $(this).val() == 0 ) return; | |
// make sure it's not more than 1 | |
if ( $(this).val() > 1 ) $(this).val(1); | |
// change all inputs but this to 0 | |
// manually trigger the change event so available stock gets updated | |
$('.tribe-events-tickets .tribe-ticket-quantity').not( $(this) ).val(0).change(); | |
}); | |
// add a oninput event | |
$('.tribe-events-tickets .tribe-ticket-quantity').on('input', function (e) { | |
$(this).change(); | |
}); | |
} | |
}); | |
</script> | |
<?php | |
} | |
add_action('wp_head', 'tribe_limit_tickets'); |
If I wanted to set the minimum quantity to 2 based on a specific ticket type, which code would I use? Would I do something as follows:
`
<script type="text/javascript">
jQuery(document).ready( function( $ ) {
console.log("PSM Plugin/MT Tweak Begun");
// do this if tickets available
if ( $('.tribe-events-tickets').length ) {
if ($('.tribe-events-tickets').type = "Per Couple"){
// set min qty to 2
var minQuantity = 2;
$('.tribe-events-tickets .tribe-tickets-quantity').attr('max', minQuantity);
// run on input change
$('.tribe-events-tickets .tribe-tickets-quantity').change ( function ( ) {
// don't run the manually triggered change event
if ( $(this).val() == 0 ) return;
// make sure it's not more than 1
if (
// change all inputs but this to 0
// manually trigger the change event so available stock gets updated
}
});
// add a oninput event
$('.tribe-events-tickets .tribe-tickets-quantity').on('input', function (e) {
$(this).change();
});
}
});
</script>
You will want to set the max attribute to the same number in both places.