Как обновить корзину для покупок с помощью радиокнопки, чтобы не было налогов? - PullRequest
0 голосов
/ 30 мая 2019

Я пытаюсь предоставить пользователю статус освобождения от налогов при оформлении заказа, нажав кнопку «Да» на переключателе, а затем загрузите документы, освобожденные от налога.

Я установил радио и загрузку файлов, но не могу заставить его обновить сумму налога на странице оформления заказа.

И я увидел это решение Добавить форму освобождения от налогов при оформлении заказа в woocommerce и попытался изменить, чтобы соответствовать моим настройкам, но это не работает. PHP не моя сильная сторона, поэтому я уверен, что где-то напутал.

Часть, с которой у меня проблема. Налог не обновляется.

add_action( 'woocommerce_checkout_update_order_review', 'taxexempt_checkout_update_order_review');
function taxexempt_checkout_update_order_review( $post_data ) {
  global $woocommerce;

  $woocommerce->customer->set_is_vat_exempt(false);

  parse_str($post_data);

  if ( isset($uhave_tax_exempt) && $uhave_tax_exempt == '1')
    $woocommerce->customer->set_is_vat_exempt(true);                
}

Часть, которая работает для отображения переключателя и загрузки файла.

function add_radio_field(){
    $radioFile   = "";
    $radioFile   .='<div class="customfield_cover"><label for="some_field_name" class="">Tax Exempt? </label><div id="radio_cover_id">';
    $radioFile .='<input name="uhave_tax_exempt" class="tax_exempt" type="radio" value="1" >Yes&nbsp;&nbsp;&nbsp;&nbsp;<input class="tax_exempt" name="uhave_tax_exempt" type="radio" value="2" >No';
    $radioFile .='</div></div>';
    echo $radioFile;
 }
add_action('woocommerce_before_order_notes','add_radio_field');

function add_file_field(){
     $uploadFile   = "";
     $uploadFile   .='<div class="customfield_cover custom_file_upload_cvr" style="display:none;" >
     <label for="some_field_name" class="">Attach tax exempt / Resale certificate </label>
     <div id="upload_CNIC_image" style="position:relative;left:15px;">';
     $uploadFile .='<input id="custom_file_upload" name="tax_exempt_attachmentfile" accept="file_extension|image/*|application/pdf|application/msword" type="file"  multiple="true" />
     <input type="hidden" value="" name="uploaded_docs" id="uploaded_docs" />
     <input type="hidden" value="" name="uploaded_docs_org" id="uploaded_org" />
     <div class="remove_uploaded"></div>
     ';
     $uploadFile .='</div></div>';
     echo $uploadFile;
 }
add_action('woocommerce_before_order_notes','add_file_field');

1 Ответ

0 голосов
/ 30 мая 2019

Возможно, не полностью решить ситуацию, но $woocommerce->customer->set_is_vat_exempt(FALSE); не будет работать, поскольку все логические значения в PHP строчные, поэтому я бы заменил эту строку на $woocommerce->customer->set_is_vat_exempt(false);

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