$ _FILES无法通过ajax和Woocommerce工作

时间:2016-10-24 20:04:24

标签: php ajax wordpress woocommerce

我正在尝试将自定义上传字段添加到我的Woocommerce结帐中。文件显示没有问题。当我禁用woocommerce ajax时,我可以检查$ _FILES转储以及所有这些。启用后,$ _FILES不会返回任何内容。我有什么遗漏吗?

add_action('woocommerce_checkout_before_terms_and_conditions', 'checkout_upload_field');
function checkout_upload_field($checkout){
    echo '<div id="po_number_upload_field"><h3>' . __('P.O. Number Upload') . '</h3>';
    echo '<input type="file" name="po_upload" id="po_upload" class="po_upload form-row-wide" />';
    echo '</div>';
}

add_action('woocommerce_checkout_process', 'validate_checkout_upload_fields');
function validate_checkout_upload_fields() {
    if ($_FILES['po_upload']['error'] === 0) {
       //check file size limit < 1mb
       if($_FILES['po_upload']['size'] > 500000){
         wc_add_notice( __( 'File size too big.' ), 'error' );
       }

       //check type
       if($_FILES['po_upload']['type'] != 'application/pdf'){
         wc_add_notice( __( 'File type not allowed.' ), 'error' );
       }
    }

}

0 个答案:

没有答案