Расширенные пользовательские поля. Карта Google не будет отображаться, если не будет сброшена переменная.

Я пытаюсь отобразить объект Google Map, созданный с помощью встроенного генератора плагина расширенного пользовательского поля.

Я использовал приведенный здесь 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.

Solutions Collecting From Web of "Расширенные пользовательские поля. Карта Google не будет отображаться, если не будет сброшена переменная."

Попробуйте этот код:

 <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 переменную global $post .