2015-09-30 15 views
9

Tworzę niestandardową stronę płatności z niestandardowymi obliczeniami. Nie mogę zmienić wartości total i tax_total za pośrednictwem Ajax (lub odśwież stronę w razie potrzeby).Zmiana sumy i łącznej kwoty podatku Woocommerce

utworzyć niestandardową stronę dla ajax żądanie i ustawić ten kod

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

var_dump(WC()); 

Na tej stronie widzę moje zmiany, ale „Page Zamówienie” nic się nie dzieje (nawet po odświeżeniu). Jak mogę zmienić arbitralny total lub tax_total.

+1

można podać trochę więcej szczegółów co do tego, w jaki sposób utworzysz niestandardową stronę kasy? Możesz użyć 'woocommerce_before_calculate_totals', aby wykonać niestandardowe obliczenia. –

Odpowiedz

3

Spróbuj użyć

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

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

także shoul być tax_total Koszyk obiektu i będzie można go zmienić.

2

miałem problemy uzyskanie innych rozwiązań dla mnie pracować, ale przynajmniej dla v.3.0.1, to było wspaniałe:

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

Pracowałem dla mnie, dzięki! –

Powiązane problemy