我正在创建一个输出javascript代码的短代码来创建自定义的Google地图,如下所示:
[map w="600" h="400" style="full" z="16" marker="yes" infowindow="<h2>Title</h2>" address="New York"]
以下是代码的一些摘录:
function gmap($atts) {
$atts = shortcode_atts(array(
[...]
'infowindow' => '',
[...]
'style' => ''
), $atts);
[...]
//infowindow
if($atts['infowindow'] != '')
{
$thiscontent = htmlspecialchars_decode($atts['infowindow']);
$returncode .= '
var contentString = \'' . $thiscontent . '\';
var infowindow = new google.maps.InfoWindow({
content: contentString
});
';
}
[...]
return $returncode;
}
如果在“infowindow”中我只使用文本,一切都很好,但如果我使用标记,如<h2>Title</h2>
我在代码中获得的是:
var contentString = '<br />
<h2>Title</h2>
<p>';
......有两个新行搞砸了js。
任何人都可以帮助我吗? 非常感谢!
答案 0 :(得分:0)
看起来你已经被WordPress的自动段落格式搞砸了。
选项1:有时你可以通过切换到编辑器的html选项卡来解决这个问题,然后删除标记中的任何空格,但是下次编辑时也会出现分崩离析的趋势同一页/帖子。
选项2:在主题的functions.php中禁用wpautop:
remove_filter( 'the_content', 'wpautop' );
但是,这可能会使您网站上的内容搞砸。
选项3。使用另一个插件,在特定网页上打开或关闭wpautop:https://wordpress.org/plugins/toggle-wpautop/
选项4。添加更多短代码属性,然后通过PHP应用所需的html,这样您就不必处理这个了!