71 lines
1.4 KiB
PHP
71 lines
1.4 KiB
PHP
<?php
|
|
/*
|
|
Plugin Name: map_prof
|
|
Plugin URI:
|
|
Description: add/remove locations on map at publication/deletion of posts
|
|
Author: hugogogo
|
|
Version: 1.0.0
|
|
Author URI:
|
|
*/
|
|
|
|
|
|
|
|
/**
|
|
* global variables :
|
|
*/
|
|
|
|
$mp_api_key = 'AIzaSyCvdGV2ssD4ov4a9CuIlQhoJyz5gWWiSvE';
|
|
$mp_marker_icon = '/wp-content/plugins/map_prof/marker.png';
|
|
|
|
|
|
|
|
/**
|
|
* inclusions :
|
|
*/
|
|
|
|
include_once(dirname(__FILE__) . '/mp_console_log.php');
|
|
require_once(dirname(__FILE__) . '/mp_url_api.php');
|
|
require_once(dirname(__FILE__) . '/mp_add_to_scripts.php');
|
|
|
|
|
|
|
|
/**
|
|
* add scripts and styles to the header or the footer
|
|
*/
|
|
|
|
function mp_enqueue_scripts() {
|
|
wp_enqueue_style( 'mp_style', plugins_url('mp_style.css', __FILE__), '', '', '');
|
|
wp_enqueue_script('mp_init_map', plugins_url('mp_init_map.js', __FILE__), '', '', true);
|
|
wp_enqueue_script('mp_google_api', mp_url_api(), ['mp_init_map'], '', true);
|
|
mp_get_locations();
|
|
mp_get_markers();
|
|
}
|
|
add_action( 'wp_enqueue_scripts', 'mp_enqueue_scripts' );
|
|
|
|
|
|
|
|
/**
|
|
* to add a tag, like defer or async, to a script
|
|
*/
|
|
|
|
function mp_tag_scripts($tag, $handle) {
|
|
if ('mp_googe_api' === $handle)
|
|
return str_replace(' src="', ' async src="', $tag);
|
|
return $tag;
|
|
}
|
|
add_filter('script_loader_tag', 'mp_tag_scripts', 10, 2);
|
|
|
|
|
|
|
|
/**
|
|
* when 'shortcode' in page, replace by 'return'
|
|
*/
|
|
|
|
function mp_add_div() {
|
|
$mp_api_script = '<div id="ljdp_map">map here</div>';
|
|
return $mp_api_script;
|
|
}
|
|
add_shortcode('lejourduprof_map', 'mp_add_div');
|
|
|
|
?>
|