Intereting Posts
когда я получаю данные из удаленной базы данных mysql в wordpress, встроенной в функцию wordpress, не работает? Как проверить человека в этом случае В базу данных добавлены странные символы Как получить мета-значение из WP_Query? Должен ли вывод HTML быть передан через esc_html () AND wp_kses ()? запрос настраиваемого поля Проблема с «условным тегом»: если пустая Как назначить таксономию по умолчанию на страницах «save_post»? Определение слизи до и после редактирования заказывать фильтры по методу оплаты WordPress Themes Directory: шаблон, который соответствует стандартам? Получать контент из другой таблицы базы данных на основе идентификатора и переписывать URL-адрес Показать заметку в верхней части страницы, но не показывать ее снова в цикле? Сделать список избранных типов сообщений в мета-окне Пользовательские типы сообщений. Можете ли вы добавить несколько столбцов в переменную?

создать динамическую карту google с iframe api

Я хочу создать динамическую карту google с iframe, когда клиент может добавить адрес в настраиваемом поле, чтобы карта google автоматически генерировала значение настраиваемого поля в местоположении. как это возможно.

Шаг первый: ознакомьтесь с API-интерфейсом Google Maps Embed ; и зарегистрируйтесь для ключа API:

Опция iframe embed, в отличие от Javascript API, не имеет ограничений использования, но не имеет такого количества опций / функций. Определите, какой РЕЖИМ вам нужен, и соблюдайте требуемый формат и параметры URL-адреса.

Поля адреса Шаг второй: Соберите адрес от пользователя. Ради этого обсуждения я покажу пример, когда пользователь добавляет адрес в пользовательские поля метабокса на почте и будет считать, что данные на местах были проверены / обработаны .

Пример отображения Шаг третий: создайте функцию для построения iframe. Вот пример. Я уверен, что это может быть чище. Функция example может вызываться с post $ id сообщения, содержащего поля адреса или из цикла без аргумента.

function build_map($id = NULL) { /* Custom metabox field ids /* Steet Address 'location_address' /* City 'location_city' /* State 'location_state' /* Postcode 'location_postcode' */ if( empty($id) ){ $id = get_the_ID(); } $address = array( /*urlencode to replace spaces with +, etc.,. */ 'address' => urlencode(get_post_meta($id, 'location_address', TRUE)), 'city' => urlencode(get_post_meta($id, 'location_city', TRUE)), 'state' => urlencode(get_post_meta($id, 'location_state', TRUE)), 'zip' => urlencode(get_post_meta($id, 'location_postcode', TRUE)), ); /* Make sure we have each required field to build iframe*/ if( count( array_filter($address) ) < 4 ){ return; } /* contruct your output as you desire, this is my method: */ $op = '<div class="google-map-embed">'; $op .= '<iframe width="{DESIRED WIDTH}" height="{DESIRED HEIGHT}" frameborder="0" style="border:0" '; /* src attribute formatted for place mode: */ $op .= 'src="https://www.google.com/maps/embed/v1/place?q='; $op .= implode(',', $address); $op .= '&key={YOUR API KEY FROM STEP ONE GOES HERE}'; /* configure optional zoom parameter: */ $op .= '&zoom=11"></iframe></div>'; print $op; }