我正在尝试显示使用高级自定义字段插件的内置生成器创建的Google地图对象。
我使用了此处概述的Javascript/CSS/PHP,因为这与我的用例完全匹配:https://www.advancedcustomfields.com/resources/google-map/
唯一的问题是:jQuery脚本似乎无法找到lat/lng html属性,除非php变量以某种方式转储或回显。
<div class="map">
<?php
$location = get_field(\'location\');
var_dump($location); <-- Why is this necessary?
?>
<div class="acf-map">
<div class="marker" data-lat="<?php echo $location[\'lat\']; ?>" data-lng="<?php echo $location[\'lng\']; ?>"></div>
</div>
</div>
我的PHP知识显然不足以理解为什么会出现这种情况。Javascript包含在PHP文件本身的内联脚本标记中。
最合适的回答,由SO网友:Cesar Henrique Damascena 整理而成
请尝试以下代码:
<div class="map">
<?php
global $post;
$location = get_field(\'location\', $post->ID);
?>
<div class="acf-map">
<div class="marker" data-lat="<?php echo $location[\'lat\']; ?>" data-lng="<?php echo $location[\'lng\']; ?>"></div>
</div>
</div>
有时在模板中,您正在加载此内容,但您没有
post
字段所属的,因此您可以尝试在
global $post
变量