1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
<?php
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
function epl_shortcode_googlemap_callback( $atts, $content = null ) {
global $property;
$id = 0;
if ( ! is_null( $property ) ) {
$id = $property->post->ID;
}
$defaults = array(
'width' => '100%',
'height' => '350px',
'zoom' => '17',
'q' => '',
'cord' => '',
'suburb_mode' => 0,
);
$attributes = shortcode_atts(
$defaults,
$atts
);
if ( empty( $attributes['cord'] ) && empty( $attributes['q'] ) ) {
return '';
}
if ( ! is_epl_post() ) {
epl_shortcode_googlemap_enqueue();
}
return '<div class="epl-tab-section epl-section-map epl-default-map-wrapper">
<div style="width:' . esc_attr( $attributes['width'] ) . '; height:' . esc_attr( $attributes['height'] ) . '" data-suburb_mode="' . esc_attr( $attributes['suburb_mode'] ) . '" data-cord="' . esc_attr( $attributes['cord'] ) . '" data-zoom="' . esc_attr( $attributes['zoom'] ) . '" data-id="' . esc_attr( $id ) . '" data-address="' . esc_attr( $attributes['q'] ) . '" class="epl-map-shortcode" id="epl-default-map"></div>
</div>';
}
add_shortcode( 'listing_map', 'epl_shortcode_googlemap_callback' );
function epl_shortcode_googlemap_enqueue() {
$googleapiurl = 'https://maps.googleapis.com/maps/api/js?v=3.exp&callback=Function.prototype&loading=async';
$epl_google_api_key = epl_get_option( 'epl_google_api_key' );
if ( ! empty( $epl_google_api_key ) ) {
$googleapiurl = $googleapiurl . '&key=' . epl_get_option( 'epl_google_api_key' );
}
if ( epl_get_option( 'epl_disable_google_api' ) !== 'on' ) {
wp_enqueue_script( 'epl-google-map-v-3', $googleapiurl, array(), EPL_PROPERTY_VER, false );
}
}