2014-09-06 9 views
5

Dodałem nowe niestandardowe pole wysyłki (wybierz opcję) do strony realizacji transakcji woocommerce.Jak zaktualizować obliczenia wysyłki dotyczące zmiany niestandardowego pola wysyłki w woocommerce?

Używam tego do obliczeń wysyłki.

który działa również idealnie. ale problem jest, gdy zmieniam wartości w tym polu, nie aktualizuje się od razu.

Daje prawidłowe obliczenia na następnej stronie, po przesłaniu strony. Potrzebuję go do pracy jako zmiana w niestandardowym polu.

Jak wyzwolić Ajax WooCommerce, który aktualizuje kalkulację wysyłki przy zmianie mojego niestandardowego pola?

Odpowiedz

9

Jest to bardzo proste w przypadku dodawania pól we właściwy sposób (przy użyciu filtru woocommerce_checkout_fields). Jedyną rzeczą, którą musisz zrobić, to dodać klas address-field i update_totals_on_change takiego:

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

niezwykle pomocne ... Dzięki tysiące razy .. – erandi

+0

Cześć, widzę w konsoli za zwyczaj sprawdzić pola, które dodajemy, klasa "update_totals_on_change" .... nazywa się "woocommerce-checkout-review-order-table", ale nie jest to funkcja "calcul_shipping" nie jest wywoływana? Czy ktoś może pomóc w tej sprawie? – erandi

+0

To nie wydaje się działać dla mnie. Zawarłem dokładnie kod, ale wózek nie odświeżył się po zmianie wartości pola i przesunięciu fokusu z pola. –

Powiązane problemy