2015-02-05 62 views
0

我想插入一段javascript到WordPress的帖子页面,插入这段代码的最佳方式是什么?如何将谷歌地图脚本添加到WordPress的帖子?

<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元素到我的文章?

回答

0

的最好的办法就是使用wp_enqueue_scriptwp_register_script功能,包括使用wp_enqueue_Scripts

我会做以下JavaScript文件:

的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); 
+0

对不起,我正在使用visual composer,不想对function.php做任何更改,是否有任何解决方法? – pvaitonis 2015-02-05 14:52:57

+0

据我所知,视觉作曲家包括谷歌地图字段 – chifliiiii 2015-02-05 14:56:42

+0

我没有我需要的功能。我想在地图上有14个自定义引脚,conposer只允许1个,并且我无法添加api密钥,以获取更多地图。 – pvaitonis 2015-02-05 14:59:15

相关问题