PHP 和 HTML 代码在 PHP 函数内 - Wordpress 2GIS Shortcode
PHP and HTML code inside PHP function - Wordpress 2GIS Shortcode
我正在尝试将 2GIS 地图放入 wordpress 短代码中。我不能使用 HTML 小部件,因为我需要 PHP,我将使用 PHP 从 wordpress post 字段中提取纬度和经度。这将在单个 post 页面中。
我回显了 HTML 代码,因为它应该在 wordpress 短代码的内部函数中。但后来我在第 55 行收到错误。
解析错误:语法错误,意外 'map' (T_STRING),应为“;”或第 55 行的“,”
请帮助我理解这一点。
<?php
function test_func(){
echo '
<html>
<head>
<title>API карт 2ГИС</title>
<script src="https://maps.api.2gis.ru/2.0/loader.js?pkg=full"></script>
<script type="text/javascript">
var map;
DG.then(function () {
map = DG.map('map', { // line 55
center: [54.98, 82.89],
zoom: 13
});
DG.marker([54.98, 82.89]).addTo(map);
});
</script>
</head>
<body>
<div id="map" style="width:800px; height:400px"></div>
</body>
</html>
';
}
add_shortcode('test_shortcode', 'test_func');
?>
您将字符串封装在单引号中并在字符串中使用了单引号,这让编译器感到困惑。
所以你需要做的是转义内部单引号(我在这里只展示一小段代码),比如...
map = DG.map('map',
使用 \
转义单引号
map = DG.map(\'map\',
这可能也有效,而且更容易,尤其是当您有更多引号时:
<?php
function test_func(){
?>
<html>
<head>
<title>API карт 2ГИС</title>
<script src="https://maps.api.2gis.ru/2.0/loader.js?pkg=full"></script>
<script type="text/javascript">
var map;
DG.then(function () {
map = DG.map('map', { // line 55
center: [54.98, 82.89],
zoom: 13
});
DG.marker([54.98, 82.89]).addTo(map);
});
</script>
</head>
<body>
<div id="map" style="width:800px; height:400px"></div>
</body>
</html>
<?php
}
add_shortcode('test_shortcode', 'test_func');
?>
我正在尝试将 2GIS 地图放入 wordpress 短代码中。我不能使用 HTML 小部件,因为我需要 PHP,我将使用 PHP 从 wordpress post 字段中提取纬度和经度。这将在单个 post 页面中。 我回显了 HTML 代码,因为它应该在 wordpress 短代码的内部函数中。但后来我在第 55 行收到错误。
解析错误:语法错误,意外 'map' (T_STRING),应为“;”或第 55 行的“,”
请帮助我理解这一点。
<?php
function test_func(){
echo '
<html>
<head>
<title>API карт 2ГИС</title>
<script src="https://maps.api.2gis.ru/2.0/loader.js?pkg=full"></script>
<script type="text/javascript">
var map;
DG.then(function () {
map = DG.map('map', { // line 55
center: [54.98, 82.89],
zoom: 13
});
DG.marker([54.98, 82.89]).addTo(map);
});
</script>
</head>
<body>
<div id="map" style="width:800px; height:400px"></div>
</body>
</html>
';
}
add_shortcode('test_shortcode', 'test_func');
?>
您将字符串封装在单引号中并在字符串中使用了单引号,这让编译器感到困惑。
所以你需要做的是转义内部单引号(我在这里只展示一小段代码),比如...
map = DG.map('map',
使用 \
转义单引号 map = DG.map(\'map\',
这可能也有效,而且更容易,尤其是当您有更多引号时:
<?php
function test_func(){
?>
<html>
<head>
<title>API карт 2ГИС</title>
<script src="https://maps.api.2gis.ru/2.0/loader.js?pkg=full"></script>
<script type="text/javascript">
var map;
DG.then(function () {
map = DG.map('map', { // line 55
center: [54.98, 82.89],
zoom: 13
});
DG.marker([54.98, 82.89]).addTo(map);
});
</script>
</head>
<body>
<div id="map" style="width:800px; height:400px"></div>
</body>
</html>
<?php
}
add_shortcode('test_shortcode', 'test_func');
?>