高级自定义字段-除非变量转储,否则Google地图不会呈现

时间:2017-07-13 作者:S. Coll

我正在尝试显示使用高级自定义字段插件的内置生成器创建的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文件本身的内联脚本标记中。

1 个回复
最合适的回答,由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 变量

结束

相关推荐

高级自定义字段-除非变量转储,否则Google地图不会呈现 - 小码农CODE - 行之有效找到问题解决它

高级自定义字段-除非变量转储,否则Google地图不会呈现

时间:2017-07-13 作者:S. Coll

我正在尝试显示使用高级自定义字段插件的内置生成器创建的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文件本身的内联脚本标记中。

1 个回复
最合适的回答,由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 变量

相关推荐