-
Notifications
You must be signed in to change notification settings - Fork 0
/
gpen-setup.php
41 lines (32 loc) · 1.21 KB
/
gpen-setup.php
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
<?php
class Gpen_Setup {
function __construct() {
add_action( 'wp_enqueue_scripts', function () {
if ( is_page_template( 'page-list.php' ) ) {
wp_enqueue_style( 'leaflet', 'https://unpkg.com/[email protected]/dist/leaflet.css', [], '1.5.1' );
wp_enqueue_script( 'leaflet', 'https://unpkg.com/[email protected]/dist/leaflet.js', [], '1.5.1', true );
wp_enqueue_script( 'gpen-map', plugin_dir_url( __FILE__ ) . 'assets/js/gpen-map.js', [ 'jquery', 'leaflet' ], '1.0', true );
$locations = [];
$query = new WP_Query( [
'post_type' => 'places',
] );
foreach ( $query->posts as $post ) {
$location = get_post_meta( $post->ID,'map_marker',true );
$location['title'] = $post->post_title;
$location['address'] = rwmb_get_value( 'address', '', $post->ID );
$location['icon'] = rwmb_get_value( 'icon', '', $post->ID );
$locations[] = $location;
}
wp_localize_script( 'gpen-map', 'Locations', $locations );
}
} );
add_shortcode( 'display_gpen_map', array( $this, 'display_gpen_map' ) );
}
function display_gpen_map() {
ob_start();
?>
<div id="map" style="width: 100%; height: 600px"></div>
<?php
return ob_get_clean();
}
}