如何将wp短代码的变量传递给JavaScript?

时间:2015-01-06 18:01:45

标签: javascript themes shortcode

我在我的主题中创建了一个谷歌地图的短代码。这是所有代码:

function shortcode_googlemap_view($atts){
    extract(shortcode_atts(array(
        "width"=>'',
        "height"=>'',
        "latitude"=>'',
        "longitudinal"=>'',
    ),$atts));
    return '<div id="map_view"  style="width:'.$width.'px;height:'.$height.'px;"></div>';
}
add_shortcode("google_map","shortcode_googlemap_view");

JavaScript的:

function initialize()
{
  var mapProp = {
    center: new google.maps.LatLng(24.17310, 88.91905),
    zoom:12,
    panControl:true,
    zoomControl:true,
    mapTypeControl:true,
    scaleControl:true,
    streetViewControl:true,
    overviewMapControl:true,
    rotateControl:true,    
    mapTypeId: google.maps.MapTypeId.ROADMAP
  };
  var map = new google.maps.Map(document.getElementById("map_view"),mapProp);
};
google.maps.event.addDomListener(window, 'load', initialize);

</script>

现在我想在24.17310中传递“latitude”的值,在JavaScript中传递88.91905的“纵向”值

center: new google.maps.LatLng(24.17310, 88.91905),

1 个答案:

答案 0 :(得分:1)

您有几种选择:

  1. 在短代码函数/类中使用PHP动态生成Javascript代码。然后,您可以使用PHP中的短代码属性生成所需的Javascript代码。

  2. 重构初始化函数,使其接受lat,只要输入args,并使用它们正确初始化地图。