我设置了一个地图,其中添加了多个标记,这些标记是从名为“countries”的自定义帖子类型中添加的。
地图似乎工作正常,并为每个“国家/地区”帖子类型提取正确的标记位置。但是,在标记的信息窗口内,我对自定义帖子类型(如标题或“简短描述”字段等)的所有其他信息都是从最新帖子中提取的。
所以基本上当我点击标记以显示信息窗口时,信息窗口内的所有数据对于所有不同的标记都是相同的。这一切都来自我添加的最新国家。
请参阅下面的代码:
<?php
$args = array(
'post_type' => 'countries'
);
$location = new WP_Query($args);
?>
<div id="destinations-map">
<div class="container-fluid">
<div class="acf-map">
<?php while($location->have_posts()) : $location->the_post(); ?>
<?php $pin = get_field('map_location'); ?>
<div class="marker" data-lat="<?php echo $pin['lat']; ?>" data-lng="<?php echo $pin['lng']; ?>">
<div class="content">
<h2><?php the_title(); ?></h2>
<div class="separator"></div>
<p>
<?php the_field('short_description'); ?>
</p>
<div class="image">
<?php $map_img = get_field("map_image"); ?>
<img class="img-responsive" src="<?php echo $map_img['url']; ?>" alt="<?php echo $map_img['alt']; ?>">
</div>
</div>
</div> <!-- marker -->
<?php endwhile; ?>
<?php wp_reset_postdata(); ?>
</div> <!-- acf-map -->
</div>
</div>
现在奇怪的是,如果我不尝试将信息拉入标记,一切正常,返回的数据是正确的!换句话说,如果我这样做,结果很好,正如预期的那样......任何人都可以告诉我为什么会有这个问题?
<div class="container">
<?php while($location->have_posts()) : $location->the_post(); ?>
<h2><?php the_title(); ?></h2>
<?php $pin = get_field('map_location'); ?>
<a href=""><?php echo $pin['lat']; ?></a>
<a href=""><?php echo $pin['lng']; ?></a>
<p>
<?php the_field('short_description'); ?>
</p>
<?php endwhile; ?>
<?php wp_reset_postdata(); ?>
</div>