Problème de JQuery qui ne fonctionne qu’en admin
-
Bonjour,
J’ai un script qui est censé afficher/masquer des champs lorsqu’on coche/décoche une checkbox (« Entreprises et professionnels ») sur la page de checkout de Woocommerce mais il ne fonctionne que pour l’administrateur sur le frontend. Dès lors que l’on passe en navigation privée ou en invité ou même en utilisateur lambda sur le site, tout reste affiché.
J’ai désactivé tous les plugins d’optimisation, de cache et cie mais j’ai toujours le même résultat.
Le voici :
add_filter( 'woocommerce_checkout_fields' , 'bbloomer_display_checkbox_and_new_checkout_field' ); function bbloomer_display_checkbox_and_new_checkout_field( $fields ) { $fields['billing']['checkbox_trigger'] = array( 'type' => 'checkbox', 'label' => __('Vous êtes une entreprise ou un professionnel ?', 'woocommerce'), 'class' => array('form-row-wide'), 'required' => false, 'clear' => true, 'priority' => 25, ); return $fields; } add_action( 'woocommerce_after_checkout_form', 'bbloomer_conditionally_hide_show_new_field', 9999 ); function bbloomer_conditionally_hide_show_new_field() { wc_enqueue_js( " jQuery('input#checkbox_trigger').change(function(){ if (! this.checked) { // HIDE IF NOT CHECKED jQuery('#billing_company_field').fadeOut(); jQuery('#billing_company_field').val(''); jQuery('#woocommerce_eu_vat_number_field').fadeOut(); jQuery('#woocommerce_eu_vat_number_field').val(''); jQuery('#eori_number_field').fadeOut(); jQuery('#eori_number_field').val(''); } else { // SHOW IF CHECKED jQuery('#billing_company_field').fadeIn(); jQuery('#woocommerce_eu_vat_number_field').fadeIn(); jQuery('#eori_number_field').fadeIn(); } }).change(); "); }Auriez-vous une idée ?
Merci par avance.
Cordialement
-
- Le sujet ‘Problème de JQuery qui ne fonctionne qu’en admin’ est fermé aux nouvelles réponses.