我正在构建一个wordpress网站,使用Advanced Custom Fields Pro在Google地图上绘制自定义数据,但无法使用我创建的自定义页面生成地图。
我创建了一个带有ACF的Google地图选择器,我已将其分配给帖子类别类型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>
然而,地图只是拉出第一个博客而不显示另一个 下面是用于调用位置并将其传递到地图的代码
<?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; ?>
有人可以建议更好的方法吗?有没有办法将类别中的位置直接传递给地图调用?
以下是任何人都可以提出的最新消息的截图吗?
答案 0 :(得分:0)
结束使用此代码
<? $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>