【发布时间】:2018-02-25 06:51:15
【问题描述】:
我在 Woocommerce 结帐中添加了自定义城市,每个城市代表一个费率。但是,我想在运费计算器中显示城市的下拉列表,就像我在结帐页面中所做的那样。
运费计算器中的城市字段是一个文本字段。目前,我只能使用以下代码更改城市字段以在结帐时选择:
// Change "city" checkout billing and shipping fields to a dropdown
add_filter('woocommerce_checkout_fields', 'override_checkout_city_fields');
function override_checkout_city_fields($fields) {
// Define here in the array your desired cities (Here an example of cities)
$option_cities = array(
'' => __('Select your city'),
'City A' => 'City A',
'City B' => 'City B'
);
$fields['shipping']['shipping_city']['type'] = 'select';
$fields['shipping']['shipping_city']['options'] = $option_cities;
return $fields;
}
我尝试使用this tutorial method,但没有成功
<?php
// Ensure to get the correct value here. This __get( 'shipping_area' ) is based on how the Advanced Checkout Fields plugin would work
$current_area = WC()->customer->__get( 'shipping_area' );
?>
<p>
<select name="calc_shipping_area" id="calc_shipping_area">
<option value=""><?php _e( 'Select a area…', 'woocommerce' ); ?></option>
<option value="alpha" <?php selected( $current_area, 'alpha' ); ?>>Alpha</option>
<option value="beta" <?php selected( $current_area, 'beta' ); ?>>Beta</option>
<option value="charlie" <?php selected( $current_area, 'charlie' ); ?>>Charlie</option>
</select>
</p>
感谢任何帮助。
【问题讨论】:
-
@LoicTheAztec 我已经发布了用户在计算器中添加自定义选择字段的地方,为什么城市字段会很复杂
-
@LoicTheAztec 我知道,但如果您能提供帮助,我将不胜感激。请看这个人的帖子wooshipping
-
如果您可以在问题中添加您用于自定义结帐字段的代码,那就太好了……这可能对其他人有用。同样,现在您可以做到这一点,如果您愿意,可以对答案进行投票。谢谢。
标签: php wordpress templates woocommerce cart