在Google地图上绘制ACF转发器

时间:2017-06-27 11:29:17

标签: wordpress google-maps advanced-custom-fields

我正在构建一个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; ?>

有人可以建议更好的方法吗?有没有办法将类别中的位置直接传递给地图调用?

以下是任何人都可以提出的最新消息的截图吗?

万分感谢您的帮助 Screenshot of map and locations loading

1 个答案:

答案 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>