我试图在我的Woocommerce商店的管理订单编辑区添加一个城市下拉菜单。我已经尝试过这个代码。
add_filter( 'woocommerce_admin_billing_fields' , 'admin_billing_city_select_field' );
function admin_billing_city_select_field( $fields ) {
global $pagenow;
// Only for new order creation
if( $pagenow != 'post-new.php' ) return $fields;
$fields['city'] = array(
'label' => __( 'City', 'woocommerce' ),
'show' => false,
'class' => 'js_field-city select short',
'type' => 'select',
'options' => array(
'' => __( 'Select a city…', 'woocommerce' ),
'Los Angeles' => __( 'Los Angeles', 'woocommerce' ),
'San Antonio' => __( 'San Antonio', 'woocommerce' ),
),
);
return $fields;
}
它是这样工作的
但是我想添加一些条件如果州匹配,那么它将显示一个特定的城市列表。并且它应该在选择州后显示城市列表。我该怎么做呢?
1条答案
按热度按时间2izufjch1#
首先,为了获得更好的用户体验,我建议将“州”字段移到“城市”和“邮政编码”字段之前。
你也可能要考虑你想要加载的数据量。你会建议每一个美国城镇或只有几个?这将取决于数据加载的方式。
但让我们假设你将创建自己的[短]列表。
(所有这些代码都经过WP 6.1.1和WC 7.3.0测试)
1.首先,你需要存储城市列表,包括州前缀,在一个WordPress选项(例如:
'_wc_cities_by_states'
),如下所示:1.然后,获取此自定义选项来构建您的城市选择选项列表:
1.最后,这是一个Javascript(jQuery),它将完成这个任务(注意:Woocommerce使用select 2库):
那个代码对我有效,我希望它对你也有效。
谢谢你告诉我!