在 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
过滤钩子替换,例如:现在结账时,西班牙仅提供“瓦伦西亚”运输州。
这是我在经典结账(短代码)中得到的:
请注意,它在 Checkout Blocks 中不起作用。