2014-09-06 22 views
5

Woocommerce ödeme sayfasına yeni özel gönderim alanı (seçenek seç) ekledim.Woocommerce'deki özel gönderim alanının değiştirilmesiyle ilgili gönderim hesaplamaları nasıl güncellenir?

Bunu nakliye hesaplamaları için kullanıyorum.

bu da mükemmel çalışır. Ancak sorun, o alandaki değerleri değiştirirken anında güncellenmez.

Bir sonraki sayfada, sayfa gönderildikten sonra doğru hesaplamaları yapar. Özel alanda değişiklik yapmak için ona ihtiyacım var.

Özel alanımın değiştirilmesinde nakliye hesaplamasını güncelleyen WooCommerce Ajax nasıl tetiklenir?

cevap

9

Bu, alanlarınızı doğru şekilde ekliyorsanız (woocommerce_checkout_fields filtresini kullanarak) gerçekten son derece basittir. Yapmanız gereken tek şey sınıfları address-field ve bunun gibi update_totals_on_change eklemektir:

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

son derece yararlı ... thanks binlerce kez .. – erandi

+0

özel kontrol için selam, ben, konsolda görebilirsiniz eklediğimiz alanlar 'update_totals_on_change' class .... 'woocommerce-checkout-review-order-table' diyor ama 'calculate_shipping' işlevi çağrılmıyor mu? Bu materya yardım eden var mı? – erandi

+0

Bu benim için işe yaramadı. Kodunuzu tam olarak ekledim, ancak alan değeri değiştiğinde ve alanın alandan uzaklaştırılmasında sepet yenilemedi. –

İlgili konular