【发布时间】:2013-11-07 09:52:31
【问题描述】:
我正在使用User Front End Pro 提供前端注册表单。其中一行是地址,我想用它来显示所有用户的地图Geo Mashup。
我有一个自定义字段保存到名为geocode_address 的用户元数据,然后我需要对其进行地理编码并将其输出到两个单独的字段纬度和经度。我找到了this for geocoding custom post data,并试图为用户元修改它,但它不起作用,并导致注册挂起。我做错了什么?
function geocode_address($user_id)
{
$custom_fields = get_user_meta();
if(isset($custom_fields["geocode_address"]) && !empty($custom_fields["geocode_address"][0]))
{
$resp = wp_remote_get( "http://maps.googleapis.com/maps/api/geocode/json?address=".urlencode($custom_fields["geocode_address"][0])."&sensor=false" );
if ( 200 == $resp['response']['code'] ) {
$body = $resp['body'];
$data = json_decode($body);
if($data->status=="OK"){
$latitude = $data->results[0]->geometry->location->lat;
$longitude = $data->results[0]->geometry->location->lng;
update_user_meta($user_id, "latitude", $latitude);
update_user_meta($user_id, "longitude", $longitude);
}
}
}
}
add_action('update_user_meta', 'geocode_address');
附带说明,Geomashup 具有对自定义字段进行地理编码的功能,但是当我输入“地理编码地址”时,它似乎不起作用...
【问题讨论】:
-
您能否显示字段
geocode_address的示例值? -
样本值如下所示:“Vällebergsvägen 7 459 30 Ljungskile”
标签: wordpress geocoding wordpress-geo-mashup