Я создаю пользовательскую страницу проверки с пользовательским расчетом. Как я могу изменить общий и tax_total через Ajax (или обновить страницу, если это необходимо).
Я создаю пользовательскую страницу для запроса ajax и устанавливаю этот код
$ss = new WC_Session_Handler(); $ss->set('tax_total',9999999); $ss->save_data(); $ss->set('total',9999999); $ss->save_data(); var_dump(WC());
На этой странице я вижу свои изменения, но «контрольная страница» ничего не происходит (даже после обновления). Как я могу изменить произвольное значение total
или tax_total
.
Попробуй использовать
add_action('woocommerce_calculate_totals', array($this, 'calculate_totals'), 10, 1); function calculate_totals($totals){ //your code }
Также он должен быть tax_total
в тележке, и вы можете его изменить.
У меня были проблемы с получением других решений для работы, но, по крайней мере, для v.3.0.1, это сработало отлично:
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); }