php - 在 Woocommerce 中为送货区添加州而不是邮政编码

标签 php wordpress woocommerce checkout

我有一个 woocommerce 网站。默认情况下,在 woocommerce 中,我可以通过邮政编码限制运输区域。但是,如何在送货区中添加我所在国家/地区的州,以便客户可以通过结帐页面中的“下拉菜单”而不是输入邮政编码来选择他们居住的州?

最佳答案

如果在 WooCommerce 中没有为您的国家/地区定义状态,您应该需要使用字母代码(2 或 3 个大写字符)和数组中相应的标签名称来定义它们。

下面是一个基于法国地区(未在 Woocommerce 中定义) 的法国国家代码 'FR' (所以你需要设置你的 woocommerce 国家代码):

add_filter('woocommerce_states', 'add_custom_states_to_country');
add_filter('woocommerce_countries_allowed_country_states', 'add_custom_states_to_country');
function add_custom_states_to_country( $states ) {
    $states['FR'] = array(
        'AR' => __('Auvergne-Rhône-Alpes', 'woocommerce'),
        'BF' => __('Bourgogne-Franche-Comté', 'woocommerce'),
        'BR' => __('Bretagne', 'woocommerce'),
        'CV' => __('Centre-Val-de-Loire', 'woocommerce'),
        'CO' => __('Corse', 'woocommerce'),
        'IF' => __('Île-de-France', 'woocommerce'),
        'GE' => __('Grand Est', 'woocommerce'),
        'HF' => __('Hauts-de-France', 'woocommerce'),
        'NO' => __('Normandie', 'woocommerce'),
        'NA' => __('Nouvelle-Aquitaine', 'woocommerce'),
        'OC' => __('Occitanie', 'woocommerce'),
        'PL' => __('Pays de la Loire', 'woocommerce'),
        'PA' => __('Provence-Alpes-Côte d’Azur', 'woocommerce'),
    );
    return $states;
}

代码进入事件子主题(或事件主题)的 function.php 文件。测试和工作。

Country Iso Codes


在运输区域设置中:

enter image description here

在购物车中(运费计算器):

enter image description here

结账时:

enter image description here

关于php - 在 Woocommerce 中为送货区添加州而不是邮政编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51639599/

相关文章:

PHP/在表格行中保存数学公式

php - 使用 PHP 和 MySQL 填充 Quiz Web 应用程序表单

php - strtotime() 期望参数 1 为字符串,数组给定

php - Wordpress:如何获取特定类别的链接

php - 按 SKU 对购物车 WooCommerce 中产品列表底部的产品进行排序

php - 这个ajax(带原型(prototype))有什么问题?

php - 如何在构建导航时将自定义代码添加到 wordpress 中的特定 <li>?

php - 在 Wordpress 中创建自定义 URL

image - 如何更改存档类别 woocommerce 中的图像大小

php - 根据类别为 WooCommerce 产品标题添加前缀