2014-09-06 17 views
5

Ho aggiunto un nuovo campo di spedizione personalizzato (selezionare l'opzione) alla pagina di pagamento di woocommerce.Come aggiornare i calcoli di spedizione sulla modifica del campo di spedizione personalizzato in woocommerce?

Lo sto utilizzando per i calcoli di spedizione.

che funziona perfettamente. ma il problema è che mentre cambio i valori in quel campo non si aggiornano all'istante.

Fornisce calcoli corretti nella pagina successiva, dopo l'invio della pagina. Ho bisogno che funzioni come modifica nel campo personalizzato.

Come attivare WooCommerce Ajax che aggiorna il calcolo della spedizione in caso di modifica del mio campo personalizzato?

risposta

9

Questo è in realtà estremamente semplice da fare se si aggiungono i campi nel modo corretto (utilizzando il filtro woocommerce_checkout_fields). L'unica cosa che dovete fare è quello di aggiungere le classi address-field e update_totals_on_change come questo:

add_filter('woocommerce_checkout_fields' , 'custom_override_checkout_fields'); 

function custom_override_checkout_fields($fields) { 

    $fields['shipping']['custom_field'] = array(
     'label' => 'Custom field', 
     'required' => 1, 
     'class' => array ('address-field', 'update_totals_on_change') 
    ); 

    return $fields; 
} 
+2

estremamente utile ... grazie mille volte .. – erandi

+0

ciao, posso vedere nella console, per l'usanza check out campi che aggiungiamo, classe 'update_totals_on_change' .... sta chiamando 'woocommerce-checkout-review-order-table' ma non è chiamata la funzione 'calculate_shipping'? Qualcuno può aiutare su questo mater? – erandi

+0

Questo non sembra funzionare per me. Ho incluso esattamente il tuo codice, ma il carrello non si è aggiornato quando il valore del campo è cambiato e lo stato attivo si è allontanato dal campo. –