要在 WooCommerce 结账页面上只显示特定的国家/地区,您可以使用以下代码在函数文件(functions.php)中添加相应的过滤器。
保留的国家(美国 英国 加拿大 澳大利亚 法国 德国 意大利 )
add_filter('woocommerce_checkout_fields', 'custom_checkout_fields');
function custom_checkout_fields($fields) {
$allowed_countries = array('US', 'GB', 'CA', 'AU', 'FR', 'DE', 'IT');
// 检查账单地址字段
if (isset($fields['billing']['billing_country'])) {
$fields['billing']['billing_country']['type'] = 'select';
$fields['billing']['billing_country']['options'] = array_intersect_key(
WC()->countries->get_countries(),
array_flip($allowed_countries)
);
}
// 检查送货地址字段
if (isset($fields['shipping']['shipping_country'])) {
$fields['shipping']['shipping_country']['type'] = 'select';
$fields['shipping']['shipping_country']['options'] = array_intersect_key(
WC()->countries->get_countries(),
array_flip($allowed_countries)
);
}
return $fields;
}
在上面的代码中,我们首先定义了一个包含保留国家/地区代码的数组 $allowed_countries
。然后,通过修改 $fields['billing']['billing_country']
和 $fields['shipping']['shipping_country']
数组元素,我们将账单地址和送货地址的国家字段设置为下拉选择框,并只保留了指定的国家/地区选项。
请确保将代码中的 $allowed_countries
数组替换为您所需的国家/地区代码列表。
保存并上传修改后的函数文件,然后在 WooCommerce 结账页面上只会显示指定的国家/地区作为选择项。
还没有评论呢,快来抢沙发~