[英]How to add google maps script to wordpress post?
I want to insert a piece of javascript to Wordpress post page, What is the best way to insert this code? 我想在WordPress帖子页面中插入一段JavaScript,插入此代码的最佳方法是什么?
<style type="text/css">
#map-canvas { height: 100%; margin: 0; padding: 0;}
</style>
<script type="text/javascript"
src="https://maps.googleapis.com/maps/api/js?key=api">
</script>
<script type="text/javascript">
function initialize() {
var mapOptions = {
center: { lat: -34.397, lng: 150.644},
zoom: 8
};
var map = new google.maps.Map(document.getElementById('map-canvas'),
mapOptions);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
<div id="map-canvas"></div>
How can I HARDCODE THIS? 我如何对此进行硬编码? how to insert div elements correctly to my post? 如何将div元素正确插入我的帖子?
The best way would be using wp_enqueue_script and wp_register_script functions to include the javascript files using the wp_enqueue_Scripts hook 最好的方法是使用wp_enqueue_script和wp_register_script函数通过wp_enqueue_Scripts钩子包含javascript文件
I would do the following: 我将执行以下操作:
in your functions.php : 在您的functions.php中 :
add_action( 'wp_enqueue_scripts', 'add_my_scripts' );
function add_my_scripts(){
// register the scripts
wp_register_script( 'gmap', 'https://maps.googleapis.com/maps/api/js?key=api' );
wp_register_script( 'theme-js', get_stylesheet_directory_uri() . '/js/my-script.js', array('gmap') );
// enqueue only if needed
if( is_page('your-map-page') ) {
wp_enqueue_script('gmap');
wp_enqueue_script('theme-js');
}
}
// register a shortcode to use like [google-map]
add_shortcode('google-map', 'google_map_func');
function google_map_func() {
return '<div id="map-canvas" style="height: 100%; margin: 0;padding: 0;"></div>';
}
In your my-script.js : 在您的my-script.js中 :
function initialize() {
var mapOptions = {
center: { lat: -34.397, lng: 150.644},
zoom: 8
};
var map = new google.maps.Map(document.getElementById('map-canvas'),
mapOptions);
}
google.maps.event.addDomListener(window, 'load', initialize);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.