首页 > 解决方案 > 在 WooCommerce 中获取特定城市的运输区域

问题描述

我需要根据用户所在的城市自动选择运输区域。

为了确定城市,我使用插件“GeoIp Detection”。我使用简码在页面标题中显示用户所在的城市:[geoip_detect2 property="city"]。

还是不使用这个插件更好,而是看这段代码的方向? 在 Woocommerce 3 中获取用户地理定位的国家/地区名称

我为快递运输创建了两个区域:

1 区 - 商店所在的独立城市。运费 25 美元。

2 区 - 快递员可以交付产品的其他国家/地区。运费 50 美元。

如果用户居住在商店所在的城市,则显示 Zone1。如果用户住在另一个城市,则显示 Zone2。

不幸的是,我找不到有助于解决此问题的代码((

我真的需要帮助。先感谢您!

标签: phpwordpresswoocommercegeolocation

解决方案


您应该能够使用以下功能设置默认城市值:

add_filter( 'woocommerce_checkout_fields' , 'default_values_checkout_fields' );
function default_values_checkout_fields( $fields ) {
    $fields['billing']['billing_city']['default'] = 'default-city';
    $fields['shipping']['shipping_city']['default'] = 'default-city';
    return $fields;
}

现在你必须完成的是:

  • 获取用户所在城市作为值
  • 将城市值传递为default-city

希望它能帮助你进步。


推荐阅读