javascript - 如何将谷歌地图脚本添加到WordPress帖子?

标签 javascript wordpress google-maps

我想在 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>

我如何对此进行硬编码?如何将 div 元素正确插入到我的帖子中?

最佳答案

最好的方法是使用 wp_enqueue_scriptwp_register_script使用 wp_enqueue_Scripts 包含 javascript 文件的函数钩子(Hook)

我会执行以下操作:

在你的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>';
}

在您的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);

关于javascript - 如何将谷歌地图脚本添加到WordPress帖子?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28346526/

相关文章:

Javascript 正则表达式 空格替换

javascript - 从 js 代码中清除 Kendo DatePicker 时,Angular 模型未更改

JavaScript 将具有相同 id 的对象转换为对象数组

php - Woocommerce - woocommerce_locate_template 的替代品

javascript - WordPress 插件不加载 JS 文件

java - setMyLocationEnabled(true) 无响应,刷新速度慢

javascript - Google map 适合自定义范围内的标记

php - jquery或者php,如何让div中的各种图片随机显示?

javascript - 根据给定 Angular 获取圆上点的 LatLong

java - google.android.gms.checkin.CheckinService 已泄漏 ServiceConnection 错误