我建立一个基于WooCommerce店。我有邮政编码列表,每一个都有通过航运区连接不同的运输成本(有的提供免费送货,一些有固定费率)。定制结账邮编场到自定义下拉菜单
当顾客进入到结账页面,他需要在输入框中输入他的邮编号码。根据邮政编码,订单预览会显示不同的运费总额(免费或统一费率)。
这里的输入字段看起来像在class-wc-countries.php
:
public function get_default_address_fields() {
$fields = array(
'postcode' => array(
'label' => __('Postcode/ZIP', 'woocommerce'),
'required' => true,
'class' => array('form-row-first', 'address-field'),
'clear' => true,
'validate' => array('postcode'),
'autocomplete' => 'postal-code',
),
);
但是,我想要做的就是把这个领域变成一个下拉菜单,让用户可以只选择他的邮编选项而不是键入它。
我设法使它下拉,但每当我选择任何选项,它似乎并没有改变总的出货,因为它会与输入字段。
这里就是我所做的:
public function get_default_address_fields() {
$fields = array(
'postcode' => array(
'label' => __('Postcode/ZIP', 'woocommerce'),
'required' => true,
'class' => array('form-row-first', 'address-field'),
'clear' => true,
'validate' => array('postcode'),
'autocomplete' => 'postal-code',
'type' => 'select',
'options' => array(
'opt1' => "001122", "112200", "334400")
),
);
但这不工作。
我错过了什么吗?
如何让这些下拉选项改变航运总?
感谢
最后通过使用States字段作为下拉菜单来解决它。我把我的zipcode放在woocommerce functions.php中,好像它们是状态一样(从他们网站上的Add/Modify States页面获取代码)。然后我创建了新的运输区域:我的国家 - 州(邮政编码),并给他们统一费率/免运费选项。比编写一个全新的下拉菜单要容易得多(正如Loic所说 - 这是一个复杂的开发) – rb1989