我正在构建一个wordpress站点,该站点使用高级自定义字段Pro在google地图上绘制自定义数据,但无法使用我创建的自定义页面生成地图。
我已经创建了一个带有ACF的Google Map Picker,我已经将它分配给了一个类别ID为4的帖子。
在我的wordpress站点的自定义模板中,我输入了以下代码来调用相关类别中的任何位置信息,在本例中,其ID为4
这一部分按照预期在页面上拉取并显示位置(我将在最终构建中隐藏它)。
<?php
$catquery = new WP_Query( 'cat=4&posts_per_page=10' );
while($catquery->have_posts()) : $catquery->the_post();
?>
<?php the_field('location'); ?>
<?php endwhile; ?>
</div>但是,地图只是拉出第一个博客,不显示其他内容。下面是im调用位置并将其传递到地图中的代码。
<?php if( have_rows('sdg_location') ): ?>
<div class="acf-map">
<?php while ( have_rows('sdg_location') ) : the_row();
$location = get_field('location');
?>
<div class="marker" data-lat="<?php echo $location['lat']; ?>"
data-lng="<?php echo $location['lng']; ?>">
</div>
<?php endwhile; ?>
</div>
<?php endif; ?>有没有人能建议一个更好的方法呢?有没有办法将类别中的位置直接传递到map调用中?
下面是发生了什么的截图,有人能建议一下吗?
发布于 2017-06-27 19:54:47
最后使用了下面的代码
<? $map_posts = get_posts(array(
'post_type' => 'post',
'cat' => '4'));
if( $map_posts ): ?>
<div class="acf-map">
<?php foreach( $map_posts as $map_post ) :
$location = get_field('location', $map_post->ID);
?>
<div class="marker" data-lat="<?php echo $location['lat']; ?>" data-lng="<?php echo $location['lng']; ?>">
</div>
<?php endforeach; ?>
</div>https://stackoverflow.com/questions/44779180
复制相似问题