高级自定义字段地图标记仅提取首个帖子数据?

时间:2016-05-14 23:13:56

标签: php wordpress advanced-custom-fields

我设置了一个地图,其中添加了多个标记,这些标记是从名为“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>

0 个答案:

没有答案