阻止WordPress在CDATA中包含脚本

时间:2011-12-13 16:19:52

标签: html wordpress xhtml cdata

我正在使用Word导入HTML插件导入HTML页面。

我有一个谷歌地图的代码片段,已导入。

但是,导入后,它会将script标记括在CDATA中。如果我删除CDATA,地图工作正常。如何阻止WordPress用CDATA封装脚本?

这是脚本:

<script type="text/javascript">
    <[[CDATA[
      var locations = [ ['<strong>Alabama', 33.606379, -86.50249, 1] ];
      var map = new google.maps.Map(document.getElementById("map"), {
        zoom: 5,
        center: new google.maps.LatLng(33.606379, -86.50249),
        mapTypeId: google.maps.MapTypeId.ROADMAP
      });
      var infowindow = new google.maps.InfoWindow();
      var marker, i;
      for (i = 0; i < locations.length; i++) {
        marker = new google.maps.Marker({
        position: new google.maps.LatLng(locations[i][1], locations[i][2]),
        map: map
      });
      google.maps.event.addListener(marker, click, (function(marker, i) {
        return function() {
          infowindow.setContent(locations[i][0]);
          infowindow.open(map, marker);
        }
      })(marker, i));
    }
  ]]>;
</script>

2 个答案:

答案 0 :(得分:2)

$content = str_replace(']]>', ']]&gt;', $content);

wp-includes \ post-template.php第167行

答案 1 :(得分:0)

您也可以在模板页面文件中这样做:

   <?php $content = str_replace(']]&gt;', ']]>', the_content()); echo $content; ?>