仅限制运输州(省),但不限制 WooCommerce 中的账单州

问题描述 投票:0回答:1

我有以下代码,在 WooCommerce 中将省份限制为仅限巴伦西亚(西班牙):

add_filter( 'woocommerce_states', 'tl45r_custom_woocommerce_states' );

function tl45r_custom_woocommerce_states( $states ) {

    // Only show specific provinces (Madrid - MD and Barcelona - B) for Spain (ES)
    $states['ES'] = array(
        //'MD' => __( 'Madrid', 'woocommerce' ),
        //'B'  => __( 'Barcelona', 'woocommerce' ),
        'V'  => __( 'Valencia', 'woocommerce' ),
    );

    return $states;
}

但是,我希望此限制仅适用于运输字段,而不是计费字段。

我该怎么做?

php wordpress woocommerce hook-woocommerce checkout
1个回答
0
投票

要仅对送货州应用限制,首先您需要在 WooCommerce“常规”设置中的送货地点中选择“仅送货到特定国家/地区”选项,然后在送货到特定国家/地区字段中输入“西班牙”选项(根据您的情况),例如:

enter image description here

然后将

woocommerce_states
替换为
woocommerce_countries_shipping_country_states
过滤钩,如:

add_filter( 'woocommerce_countries_shipping_country_states', 'customized_shipping_country_states' );
function customized_shipping_country_states( $states ) {
    // Only show specific provinces (Madrid - MD and Barcelona - B) for Spain (ES)
    $states['ES'] = array(
        //'MD' => __( 'Madrid', 'woocommerce' ),
        //'B'  => __( 'Barcelona', 'woocommerce' ),
        'V'  => __( 'Valencia', 'woocommerce' ),
    );
    return $states;
}

现在结账时,西班牙仅支持“瓦伦西亚”运输州

© www.soinside.com 2019 - 2024. All rights reserved.