ACF Pro谷歌地图数组遍历更新时如何自定义经纬度自定义字段名称
ACF谷歌地图字段自定义经纬度存储名修改方案
核心修改逻辑是将原代码中「原生键名直接作为自定义字段名」的逻辑,替换为原生键名到目标字段名的映射即可,修改后完整代码如下:
function my_copy_date_filter($post_id) { $post_type = get_post_type($post_id); if ($post_type != 'spot') { return; } $location = get_field('spot_location', $post_id); if ($location) { // 定义原生键名到目标自定义字段名的映射 $field_map = [ 'lat' => 'spot_lat', 'lng' => 'spot_lng' ]; foreach ($field_map as $original_key => $target_key) { if (isset($location[$original_key])) { update_post_meta($post_id, $target_key, $location[$original_key]); } } } } add_filter('acf/save_post', 'my_copy_date_filter', 20);
核心改动说明
- 新增了
$field_map关联数组,左侧为ACF谷歌地图字段返回的原生经纬度键名,右侧为你需要自定义的字段名,后续如果需要修改字段名只需调整这个数组即可 - 循环遍历映射数组,调用
update_post_meta时直接使用映射后的目标字段名存入数据 - 额外把原代码里容易歧义的
$date变量名改为$location,更贴合字段实际用途,不影响功能可保留也可改回
内容的提问来源于stack exchange,提问作者DenisCGN
相关产品推荐
相关产品推荐

