Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过WooCommerce中的挂钩更改产品税类别_Javascript_Php_Woocommerce_Hook Woocommerce - Fatal编程技术网

Javascript 通过WooCommerce中的挂钩更改产品税类别

Javascript 通过WooCommerce中的挂钩更改产品税类别,javascript,php,woocommerce,hook-woocommerce,Javascript,Php,Woocommerce,Hook Woocommerce,我应该创建一个函数,根据第三方插件实现的字段和计费国家/地区来删除税款,但这段代码不起作用。我在stackoverflow上尝试了不同的解决方案,但没有任何效果。我的代码出了什么问题?我也尝试过这个代码,但什么都没有 add_filter('woocommerce_product_get_tax_class','switch_product_tax_class',100,2); 添加过滤器('woocommerce\u product\u variation\u get\u tax\u clas

我应该创建一个函数,根据第三方插件实现的字段和计费国家/地区来删除税款,但这段代码不起作用。我在stackoverflow上尝试了不同的解决方案,但没有任何效果。我的代码出了什么问题?我也尝试过这个代码,但什么都没有

add_filter('woocommerce_product_get_tax_class','switch_product_tax_class',100,2);
添加过滤器('woocommerce\u product\u variation\u get\u tax\u class','switch\u product\u tax\u class',100,2);
功能开关产品税类($tax税类,$product){
如果(isset($\u COOKIE[“setTaxes”])&&&$\u COOKIE[“setTaxes”]==“否”){
返回“零利率”;
}
报税$tax_类;
}
添加操作('wp_页脚','payment_methods_trigger_update_checkout');
函数支付\方法\触发\更新\签出(){
?>
jQuery(函数($){
$(文档).on('更改','计费国家/地区'),函数(){
b#u type=$(“#账单#u发票_类型:选定”).val();
b#u country=$(“#计费国家:选定”).val();
countryList=['AT'、'LV'、'BE'、'LT'、'BG'、'LU'、'CZ'、'MT'、'CY'、'NL'、'HR'、'PL'、'DK'、'PT'、'EE'、'RO'、'FI'、'SK'、'FR'、'SI'、'DE'、'GR'、'SE'、'IE'、'HU'];
如果(b_类型==“发票”){
如果($.inArray(b_国家,国家列表)!=-1){
控制台日志(b_类型);
控制台日志(b_国家/地区);
document.cookie=“setTaxes=no”;
$(document.body).trigger(“update_checkout”);
}否则{
document.cookie=“setTaxes=yes”;
$(document.body).trigger(“update_checkout”);
}
}否则{
document.cookie=“setTaxes=yes”;
$(document.body).trigger(“update_checkout”);
}
});
});
add_filter('woocommerce_product_get_tax_class', 'switch_product_tax_class', 100, 2 );
add_filter('woocommerce_product_variation_get_tax_class', 'switch_product_tax_class', 100, 2 );
function switch_product_tax_class( $tax_class, $product ){
    if( isset($_COOKIE["setTaxes"]) && $_COOKIE["setTaxes"] == 'no' ){
        return "zero-rate";
    }
    return $tax_class;
}

add_action('wp_footer', 'payment_methods_trigger_update_checkout');
function payment_methods_trigger_update_checkout(){
    ?>
    <script type="text/javascript">
    jQuery(function($){
        $(document).on('change','#billing_country',function(){
            b_type = $("#billing_invoice_type :selected").val();
            b_country = $("#billing_country :selected").val();
            countryList = ['AT','LV','BE','LT','BG','LU','CZ','MT','CY','NL','HR','PL','DK','PT','EE','RO','FI','SK','FR','SI','DE','GR','SE','IE','HU'];
            if (b_type == "invoice"){
              if($.inArray(b_country, countryList) != -1){
                console.log(b_type);
                console.log(b_country);
                document.cookie = "setTaxes=no";
                $(document.body).trigger("update_checkout");
              }else{
                  document.cookie = "setTaxes=yes";
                  $(document.body).trigger("update_checkout");
              }
            }else{
              document.cookie = "setTaxes=yes";
              $(document.body).trigger("update_checkout");
            }
            
        });
    });
    </script>
    <?php
};