Php 将acf字段传递给传单JS
我在互联网上发现了这个例子,它非常接近我想要做的事情。 我有一些ACF字段,带有一些标记的纬度和经度,我试图在同一地图中显示自定义帖子类型位置的所有标记。 但我只得到1,我做错了什么 我想是和marker div有关Php 将acf字段传递给传单JS,php,wordpress,leaflet,advanced-custom-fields,Php,Wordpress,Leaflet,Advanced Custom Fields,我在互联网上发现了这个例子,它非常接近我想要做的事情。 我有一些ACF字段,带有一些标记的纬度和经度,我试图在同一地图中显示自定义帖子类型位置的所有标记。 但我只得到1,我做错了什么 我想是和marker div有关 纬度: Longitud: #地图, #acf地图{ 高度:500px; } 请确保您正在回显自定义字段值。 示例:data lat=“”和data lat=“”您需要将div.marker放入循环中,以显示具有自定义lat long值的多个标记 <?php whil
纬度:
Longitud:
#地图,
#acf地图{
高度:500px;
}
请确保您正在回显自定义字段值。
示例:data lat=“”
和data lat=“”
您需要将div.marker放入循环中,以显示具有自定义lat long值的多个标记
<?php while( $query->have_posts() ) : $query->the_post() ?>
<div class="marker"
data-lat="<?php echo get_field( 'lat' ) ?>"
data-lng="<?php echo get_field( 'lon' ); ?>"
data-title="<?php echo get_field( 'subtitle' ) ?>"
data-url="<?php echo 'link'; ?>"
data-category="<?php echo 'category'; ?>" >
</div>
<?php endwhile; wp_reset_postdata(); ?>
“lat”和“lon”值是否按预期显示在循环中?好的,抱歉,我误解了您的问题。所以你在地图上只能看到一个标记。这是因为您在循环外部创建了div.marker。您需要在POST中循环,并使用自定义的lat-long值生成多个div.marker元素。
var markers = [];
$.each($('.marker'), function () {
var marker = [];
var lat = $(this).attr('data-lat');
var lng = $(this).attr('data-lng');
var name = $(this).attr('data-title');
var link = $(this).attr('data-url');
console.log('Marker es: ' + marker);
marker = [name, lat, lng, link];
console.log('Y ahora es: ' + marker);
console.log(marker);
markers.push( marker );
});
console.log(markers);
console.log(markers.length);
for (var i = 0; i < markers.length; i++) {
marker = new L.marker([markers[i][1], markers[i][2]])
.bindPopup(markers[i][0])
.addTo(map);
}