Страница WooCommerce CheckOut рассчитывает налоги в два раза - PullRequest
0 голосов
/ 13 апреля 2020

В настоящее время мы подключаемся к фильтру " 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 "устраняет проблему, мне интересно, есть ли другой, рекомендуемый способ.

Спасибо за вас время и помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...