Я пытаюсь предоставить пользователю статус освобождения от налогов при оформлении заказа, нажав кнопку «Да» на переключателе, а затем загрузите документы, освобожденные от налога.
Я установил радио и загрузку файлов, но не могу заставить его обновить сумму налога на странице оформления заказа.
И я увидел это решение Добавить форму освобождения от налогов при оформлении заказа в 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 <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');