我正在使用Departamentos y Ciudades de Colombia para Woocommerce插件转换城市/城镇的输入字段,以选择结帐部分中的字段,并在插件文件中提供预先填充的城市/城镇列表。
我想在表单中添加相同的城市选择字段,以便在Woocommerce中创建发货区域。虽然Woocommerce支持添加大陆/国家/州/邮政编码,但不支持在运输区添加城市名称。我可以使用邮政编码,但这不起作用,因为有些国家不支持邮政编码系统,或者它们在单个邮政编码上覆盖更大的区域。
有人可以指导我在哪些类或Woocommerce核心文件需要扩展,以便它支持运输区域的城市名称。我想根据城市名称创建运输区域。我认为WC_Shipping_Zone
的方法需要被覆盖。请帮助我了解Woocommerce的actions
和filters
对解决方案感兴趣。
答案 0 :(得分:1)
我是插件的创建者,请参见github中的代码参考 https://github.com/saulmoralespa/departamentos-y-ciudades-de-colombia-para-woocommerce/blob/master/includes/filter-by-cities.php
我按城市添加了过滤器,方法发送方式可选
答案 1 :(得分:0)
尝试此代码:
const
答案 2 :(得分:-1)
我遇到了同样的问题,但是我发现我可以插入一个php文件来解决这个问题。
以下是阿根廷的php代码
<?php
/**
* Argentinian provinces
*
* @package WooCommerce/i18n
* @version 2.4.0
*/
global $states;
defined( 'ABSPATH' ) || exit;
$states['AR'] = array(
'C' => __( 'Ciudad Autónoma de Buenos Aires', 'woocommerce' ),
'B' => __( 'Buenos Aires', 'woocommerce' ),
'K' => __( 'Catamarca', 'woocommerce' ),
'H' => __( 'Chaco', 'woocommerce' ),
'U' => __( 'Chubut', 'woocommerce' ),
'X' => __( 'Córdoba', 'woocommerce' ),
'W' => __( 'Corrientes', 'woocommerce' ),
'E' => __( 'Entre Ríos', 'woocommerce' ),
'P' => __( 'Formosa', 'woocommerce' ),
'Y' => __( 'Jujuy', 'woocommerce' ),
'L' => __( 'La Pampa', 'woocommerce' ),
'F' => __( 'La Rioja', 'woocommerce' ),
'M' => __( 'Mendoza', 'woocommerce' ),
'N' => __( 'Misiones', 'woocommerce' ),
'Q' => __( 'Neuquén', 'woocommerce' ),
'R' => __( 'Río Negro', 'woocommerce' ),
'A' => __( 'Salta', 'woocommerce' ),
'J' => __( 'San Juan', 'woocommerce' ),
'D' => __( 'San Luis', 'woocommerce' ),
'Z' => __( 'Santa Cruz', 'woocommerce' ),
'S' => __( 'Santa Fe', 'woocommerce' ),
'G' => __( 'Santiago del Estero', 'woocommerce' ),
'V' => __( 'Tierra del Fuego', 'woocommerce' ),
'T' => __( 'Tucumán', 'woocommerce' ),
);
我将该代码格式复制到一个新文件中,并用我所在国家/地区的信息替换了各州,从而能够为我所在国家/地区的每个州创建运输区域。
这是我的php代码
<?php
/**
* Belizean Districts
*
* @package WooCommerce/i18n
* @version 2.4.0
*/
global $states;
defined( 'ABSPATH' ) || exit;
$states['BZ'] = array(
'C' => __( 'Corozal', 'woocommerce' ),
'B' => __( 'Orange Walk', 'woocommerce' ),
'K' => __( 'Belize', 'woocommerce' ),
'H' => __( 'Cayo', 'woocommerce' ),
'U' => __( 'Stann Creek', 'woocommerce' ),
'X' => __( 'Toledo', 'woocommerce' ),
'W' => __( 'Caye Caulker', 'woocommerce' ),
'E' => __( 'San Pedro', 'woocommerce' ),
);