Un utente ha chiesto informazioni su Extra Product Options (Product Addons) for WooCommerce di Wordpress

Come disabilitare il pulsante “Aggiungi al carrello” finché non viene selezionata la casella di controllo richiesta?

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

Lascia un commento 0

Your email address will not be published. Required fields are marked *