将城市名称字段添加到出货区域 - Woocommerce

问题描述 投票:0回答:2

我正在使用Departamentos y Ciudades de Colombia para Woocommerce插件,它将城市/城镇的输入字段转换为结帐部分中的选择字段,并在插件文件中提供预先填充的城市/城镇列表。 我想在表单中添加相同的城市选择字段,以便在Woocommerce中创建发货区域。虽然Woocommerce支持添加大陆/国家/州/邮政编码,但不支持在运输区添加城市名称。我可以使用邮政编码,但这不起作用,因为一些国家不支持邮政编码系统或他们覆盖单个邮政编码上更大的区域。

有人可以指导我需要扩展Woocommerce核心的哪些类或文件,以便它支持运输区域的城市名称。我想根据城市名称创建运输区域。我认为WC_Shipping_Zone的方法需要被覆盖。请帮助我了解Woocommerce的actionsfilters对解决方案感兴趣。

php wordpress woocommerce shipping
2个回答
1
投票

我是插件的创建者,请参阅github https://github.com/saulmoralespa/departamentos-y-ciudades-de-colombia-para-woocommerce/blob/master/includes/filter-by-cities.php中的代码参考

我按城市添加过滤器如何运送方式可选


-1
投票

我有同样的问题,但是我发现我可以插入一个php文件来解决这个问题。

  1. 转到:yourwebsite / wp-content / plugins / woocommerce / i18n / states
  2. 您将看到插入了States的国家/地区的php文件
  3. 如果您打开一个,您将看到代码格式

下面是阿根廷的php代码

<?php
/**
 * Argentinian provinces
 *
 * @package WooCommerce/i18n
 * @version 2.4.0
 */

global $states;

defined( 'ABSPATH' ) || exit;

$states['AR'] = array(
	'C' => __( 'Ciudad Aut&oacute;noma de Buenos Aires', 'woocommerce' ),
	'B' => __( 'Buenos Aires', 'woocommerce' ),
	'K' => __( 'Catamarca', 'woocommerce' ),
	'H' => __( 'Chaco', 'woocommerce' ),
	'U' => __( 'Chubut', 'woocommerce' ),
	'X' => __( 'C&oacute;rdoba', 'woocommerce' ),
	'W' => __( 'Corrientes', 'woocommerce' ),
	'E' => __( 'Entre R&iacute;os', 'woocommerce' ),
	'P' => __( 'Formosa', 'woocommerce' ),
	'Y' => __( 'Jujuy', 'woocommerce' ),
	'L' => __( 'La Pampa', 'woocommerce' ),
	'F' => __( 'La Rioja', 'woocommerce' ),
	'M' => __( 'Mendoza', 'woocommerce' ),
	'N' => __( 'Misiones', 'woocommerce' ),
	'Q' => __( 'Neuqu&eacute;n', 'woocommerce' ),
	'R' => __( 'R&iacute;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&aacute;n', 'woocommerce' ),
);

我将该代码格式复制到一个新文件中,并用我所在国家/地区的信息替换了States,并且我能够为我所在国家/地区的每个州创建运输区域。

这是我的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' ),
	
);
© www.soinside.com 2019 - 2024. All rights reserved.