我正在尝试通过让用户在单选按钮上单击是,然后上传其免税文档来使用户在结帐时获得免税状态。
我可以广播和上传文件,但似乎无法在结帐页面上更新税额。
我看到了此解决方案Add Tax Exempt form on checkout in 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');
答案 0 :(得分:0)
可能无法完全解决这种情况,但是$woocommerce->customer->set_is_vat_exempt(FALSE);
将不起作用,因为PHP中的布尔值都是小写,因此我将这行替换为$woocommerce->customer->set_is_vat_exempt(false);