2015-09-30 23 views
9

Özel hesaplamayla özel bir ödeme sayfası oluşturuyorum. Ajax üzerinden total ve tax_total değerlerini nasıl değiştiremiyorum (veya gerekirse sayfayı yenile).Toplamı değiştir ve tax_total Woocommerce

Ben ajax isteği için özel bir sayfa oluşturabilir ve bu kodu benim değişiklikleri görebilirsiniz Bu sayfada

$ss = new WC_Session_Handler(); 
$ss->set('tax_total',9999999); 
$ss->save_data(); 
$ss->set('total',9999999); 
$ss->save_data(); 

var_dump(WC()); 

ayarlayabilirsiniz, ancak 'çıkış sayfası' hiçbir şey (hatta yenileme sonra) gerçekleşir. Rasgele total veya tax_total'u nasıl değiştirebilirim.

+1

siz oluşturduğunuz nasıl biraz daha ayrıntı verebilir özel ödeme sayfası? Özel hesaplarınızı yapmak için 'woocommerce_before_calculate_totals' kullanabilirsiniz. –

cevap

3

Ayrıca sepeti nesnesinde tax_total olmalıdr

add_action('woocommerce_calculate_totals', array($this, 'calculate_totals'), 10, 1); 

function calculate_totals($totals){ 
//your code 
} 

kullanmaya çalışın ve bunu değiştirebilirsiniz olacaktır.

2

Ben sorunlar benim için çalışan diğer çözümler elde yaşadım, ama en azından v.3.0.1 için, bu büyük çalıştı:

add_action('woocommerce_cart_total', 'calculate_totals', 10, 1); 

function calculate_totals($wc_price){ 
    $new_total = 0; 
    foreach (WC()->cart->cart_contents as $key => $value) { 
     //calculations here 
    } 

    return wc_price($new_total); 
} 
+0

Benim için çalıştı, teşekkürler! –