В настоящее время мы подключаемся к фильтру " woocommerce_cart_totals_taxes_total_ html", чтобы добавить некоторые из наших собственных журналов расчета налогов c.
При просмотре страницы WooCommerce CheckOut logi c мы замечаем, что этот фильтр вызывается дважды. Это приводит к тому, что наша конечная точка расчета налога вызывается дважды.
При проверке я замечаю, что:
Call # 1 : заказ на проверку WooCommerce. php "имеет вызов функции" wc_cart_totals_taxes_total_ html ".
Эта функция вызывает фильтр" woocommerce_cart_totals_taxes_total_ html ".
Вызов # 2 : существует файл javascript с именем "checkout.min. js", в котором AJAX используется для выполнения ряда функций / процессов, одним из которых является восстановление порядка HTML путем вызова Снова введите "review-order. php".
Может показаться, что двойное использование файла "review-order. php" вызывает расчет двойного налога.
Мы Мы протестировали (много) других хуков, в которые нужно поместить наши логи расчета налогов c, и фильтр " woocommerce_cart_totals_taxes_total_ html" - единственное место, которое будет работать в нашей ситуации.
Мы решили проблему, добавив wc_cart_totals_taxes_total_ * 1 047 * "вызов функции:
<tr class="tax-total">
<th><?php echo esc_html( WC()->countries->tax_or_vat() ); ?></th>
<td>
<?php if(defined( 'DOING_AJAX' )): ?>
<?php wc_cart_totals_taxes_total_html(); ?>
<?php endif; ?>
</td>
</tr>
Хотя это условное добавление" DOING_ AJAX "устраняет проблему, мне интересно, есть ли другой, рекомендуемый способ.
Спасибо за вас время и помощь.