Mostra o nascondi i campi di pagamento di WooCommerce in base al pulsante di opzione selezionato
cari,
Sto usando il plug-in snippet per aggiungere il mio codice al mio progetto ecommerace, ho un plug-in di ritiro e consegna nella mia opzione di consegna, quello che sto cercando di fare è, una volta selezionata l'opzione di ritiro, i campi delle informazioni sull'indirizzo del cliente saranno nascosti quale non è logico mantenerlo visibile e obbligatorio se è selezionato il ritiro dal ristorante.
errore di restituzione dello snippet errore di sintassi, "(", variabile in attesa (T_VARIABLE) o "{" o "$" correlato per la sostituzione di <? php> con ma anche questo non funziona, scusa per aver confuso sono nuovo con la programmazione e non vedo l'ora di avere il tuo supporto nella mia pagina di checkout del progetto. https://www.order.ramadaencorekuwait.com/checkout-2/
$(document).ready(function() {
$('input').change(function() { if ($('input[value="pickup"]').is(':checked') && $('input[value="delivery"]').is(':unchecked')) { $('input[value="billing_address_4"]').hide();
}
else {
$('input[value="billing_address_4"]').show();
}
});
});
Grazie.
Risposte
Ci sono alcuni errori nel codice. Utilizza quanto segue per mostrare / nascondere un campo di pagamento personalizzato in base alla scelta del pulsante di opzione:
add_action('wp_footer', 'custom_checkout_js_script');
function custom_checkout_js_script() {
if( is_checkout() && ! is_wc_endpoint_url() ) :
?>
<script language="javascript">
jQuery( function($){ var a = 'input[name="pi_delivery_type"]:checked', b = 'input[name="billing_address_4"]'; // Custom function that show hide specific field, based on radio input value function showHideField( value, field ){ if ( value === 'pickup' ) { $(field).parent().parent().hide();
} else {
$(field).parent().parent().show(); } } // On start after DOM is loaded showHideField( $(a).val(), b );
// On radio button change live event
$('form.woocommerce-checkout').on('change', a, function() { showHideField( $(this).val(), b );
});
});
</script>
<?php
endif;
}
Il codice va nel file functions.php del tuo tema figlio attivo (o tema attivo). Testato e funziona.