php - 在 WooCommerce 中获取特定城市的运输区域
问题描述
我需要根据用户所在的城市自动选择运输区域。
为了确定城市,我使用插件“GeoIp Detection”。我使用简码在页面标题中显示用户所在的城市:[geoip_detect2 property="city"]。
还是不使用这个插件更好,而是看这段代码的方向? 在 Woocommerce 3 中获取用户地理定位的国家/地区名称
我为快递运输创建了两个区域:
1 区 - 商店所在的独立城市。运费 25 美元。
2 区 - 快递员可以交付产品的其他国家/地区。运费 50 美元。
如果用户居住在商店所在的城市,则显示 Zone1。如果用户住在另一个城市,则显示 Zone2。
不幸的是,我找不到有助于解决此问题的代码((
我真的需要帮助。先感谢您!
解决方案
您应该能够使用以下功能设置默认城市值:
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
希望它能帮助你进步。
推荐阅读
- java - BroadcastReceiver for SCREEN_ON and SCREEN_OFF even after quitting the app
- ios - Localized error in swift (translation)
- typo3 - 在 Extension Builder 中使用 TYPO3 FrontendUsers 的最佳方式是什么?
- dicom - 无法在 SPM 中导入 dicom 图像
- unity3d - Unity-如何在一个对话树脚本上创建两个Button事件
- java - 如何使用 ObjectMapper 忽略 json 数据中的类定义
- jquery - 如何使用 jquery 列表中的元素包装字符串
- .net - GetJSON 在 pascal 库中引发异常
- c# - System.FormatException:字符串未被识别为有效的 DateTime - 尝试转换 MM/DD/YYYY 时
- r - 具体匹配两个数据框中的两个日期