Un utente ha chiesto 👇
Ehi, grazie per questo fantastico plug-in – Apprezzo tutto il duro lavoro che ci metti. Come dice il titolo, il pulsante “aggiungi al carrello” può essere disabilitato fino a quando non viene selezionata la casella di controllo richiesta? Se questo non può essere ottenuto con le sue opzioni predefinite, potresti aiutarmi con uno snippet di codice o qualcosa che posso aggiungere per ottenerlo?
Grazie!
Autore del plugin
(@themehigh)
1 anno, 7 mesi fa
Per soddisfare le tue esigenze, inserisci il codice qui sotto nel file functions.php del tuo child theme.
function disable_add_to_cart_till_required_fields_filled(){
?>
<script type="text/javascript">
(function($, window, document) {
function may_disable_add_to_cart_button(){
var req_fields = $('.thwepof-input-field.validate-required');
var disabled = false;
$.each(req_fields, function(index, elm){
var value = '';
var finput = $(elm);
var type = finput.getType();
var name = finput.prop('name');
if(type == 'radio'){
value = $("input[type=radio][name='"+name+"']:checked").val();
}else if(type == 'checkbox'){
value = $("input[type=checkbox][name='"+name+"']:checked").val();
}else{
value = finput.val();
}
if(isEmpty(value)){
disabled = true;
}
});
$('.single_add_to_cart_button').prop("disabled", disabled);
}
$.fn.getType = function(){
try{
return this[0].tagName == "INPUT" ? this[0].type.toLowerCase() : this[0].tagName.toLowerCase();
}catch(err) {
return 'E001';
}
}
function isEmpty(str){
return (!str || 0 === str.length);
}
$('.thwepof-input-field').on('keyup change', function(){
may_disable_add_to_cart_button();
});
may_disable_add_to_cart_button();
}(window.jQuery, window, document));
</script>
<?php
}
add_action('wp_footer', 'disable_add_to_cart_till_required_fields_filled');
Si noti, tuttavia, che affinché il codice precedente funzioni, è necessario aggiornare il plug-in all’ultima versione.
Speriamo che questo aiuti.
Grazie!
Questa risposta è stata modificata 1 anno, 7 mesi fa.
Was this helpful?
0 / 0