Woocommerce Checkout-某些国家/地区未显示“州”字段-导致付款错误

时间:2019-09-08 03:21:34

标签: wordpress woocommerce hook-woocommerce

在选择某些国家(如德国)时,woocommerce结帐页面上的

“状态”字段不会出现,因此,当客户单击下订单时,出现错误,表明他需要输入状态,但是自那以后无法放置状态没有它的领域。

1-如果他选择了阿拉伯联合酋长国,美国,加拿大等国家/地区,则会显示一个状态字段,客户可以正常填写该字段,并且付款可以顺利进行。

2-如果选择了德国,阿富汗或某些其他国家,则“州/县”字段消失,并且当客户单击“下订单”时出现错误:“找不到shipping_state帖子变量”。

我正在使用paytabs作为支付网关。

我不确定要编辑什么代码,但是woocommerce根据所选国家/地区动态显示“州”字段。

出现错误,表明客户需要放置状态,但是由于没有字段,因此无法放置状态。

1 个答案:

答案 0 :(得分:0)

由于默认woocommerce在某些国家/地区不显示状态字段,因此您可以在class-wc-countries.php中看到这些国家/地区

下面的代码将允许阿富汗的国家/地区字段,请对其进行测试并进行编辑

function so_57838961_filter_woocommerce_states( $states ) { 
    unset( $states['AF'] );
    var_dump( $states ) ;
    return $states;
};
add_filter( 'woocommerce_states', 'so_57838961_filter_woocommerce_states', 10, 1 );

function so_57838961_filter_woocommerce_get_country_locale( $locale ) { 
    $locale['AF']['state']['required'] = true;
    return $locale; 
};
add_filter( 'woocommerce_get_country_locale', 'so_57838961_filter_woocommerce_get_country_locale', 10, 1 );