我有以下代码,在 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;
}
但是,我希望此限制仅适用于运输字段,而不是计费字段。
我该怎么做?
要仅对送货州应用限制,首先您需要在 WooCommerce“常规”设置中的送货地点中选择“仅送货到特定国家/地区”选项,然后在送货到特定国家/地区字段中输入“西班牙”选项(根据您的情况),例如:
然后将
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;
}
现在结账时,西班牙仅支持“瓦伦西亚”运输州。