we can pass code from php to js
This commit is contained in:
127
srcs/plugins/map_prof/map_prof_hooks.php
Normal file
127
srcs/plugins/map_prof/map_prof_hooks.php
Normal file
@@ -0,0 +1,127 @@
|
||||
<?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:
|
||||
*/
|
||||
|
||||
|
||||
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');
|
||||
|
||||
|
||||
//function print_content($content){
|
||||
//
|
||||
// // print only on the page 'map', and other conditions
|
||||
// // https://developer.wordpress.org/reference/hooks/the_content/
|
||||
// if (!( is_page('map_prof') && in_the_loop() && is_main_query() ))
|
||||
// return $content;
|
||||
//
|
||||
// // https://developer.wordpress.org/reference/functions/get_posts/
|
||||
// $get_posts_args = array(
|
||||
// 'numberposts' => -1,
|
||||
// 'post_status' => 'publish',
|
||||
// );
|
||||
//
|
||||
// $posts_list = get_posts($get_posts_args);
|
||||
// $content .= "<p>";
|
||||
// $content .= "nb posts published : ";
|
||||
// $content .= count($posts_list);
|
||||
// $content .= "</p>";
|
||||
// foreach ($posts_list as $post_value) {
|
||||
// $content .= "<div>";
|
||||
// $content .= "- post title: [";
|
||||
// $content .= $post_value->post_title;
|
||||
// $content .= "] - content: [";
|
||||
// $content .= $post_value->post_content;
|
||||
// $content .= "]";
|
||||
// $content .= "</div>";
|
||||
// }
|
||||
//
|
||||
// // TESTS : print posts full content
|
||||
// //
|
||||
// //$posts_list = get_posts($args);
|
||||
// //$content .= "<p>";
|
||||
// //$content .= "nb posts published : ";
|
||||
// //$content .= count($posts_list);
|
||||
// //$content .= "</p>";
|
||||
// //foreach ($posts_list as $post_key => $post_value) {
|
||||
// // $content .= "<p>";
|
||||
// // $content .= "post content : ";
|
||||
// // $content .= $post_key;
|
||||
// // $content .= " : ";
|
||||
// // $content .= "<br>";
|
||||
// // foreach ($post_value as $key => $value) {
|
||||
// // $content .= "- [";
|
||||
// // $content .= $key;
|
||||
// // $content .= "]: [";
|
||||
// // $content .= $value;
|
||||
// // $content .= "]<br>";
|
||||
// // }
|
||||
// // $content .= "</p>";
|
||||
// //}
|
||||
//
|
||||
// $content .= '<div id="map"></div>';
|
||||
// $content .= '<script>
|
||||
// function initMap() {
|
||||
// var location = {lat: 38.8833, lng: -77.0167};
|
||||
// var map = new google.maps.Map(document.getElementById("map"), {
|
||||
// zoom: 12,
|
||||
// center: location
|
||||
// });
|
||||
// var marker = new google.maps.Marker({
|
||||
// position: location,
|
||||
// map: map
|
||||
// });
|
||||
// }
|
||||
// </script>';
|
||||
// $content .= '<script async defer src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCvdGV2ssD4ov4a9CuIlQhoJyz5gWWiSvE&callback=initMap"></script>';
|
||||
//
|
||||
// return $content;
|
||||
//};
|
||||
//add_action('the_content', 'print_content', 1);
|
||||
|
||||
?>
|
||||
Reference in New Issue
Block a user