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 *