我有一些代码可以根据名为' event_map'的自定义字段提供的位置字段生成Google地图以显示标记。它很棒。
<?php
$location = get_field('event_map');
if( !empty($location) ):
?>
<div class="acf-map">
<div class="marker" data-lat="<?php echo $location['lat']; ?>" data-lng="<?php echo $location['lng']; ?>"></div>
</div>
<?php endif; ?>
我现在想要添加一张地图,其中显示来自&#39;巡回日期&#39;的所有帖子中的所有标记。自定义帖子类型。如果所有这些帖子都有一个名为&#39; event_map&#39;的字段,我将如何做到这一点?从中抽取位置数据?我很难过并且感激不尽。
答案 0 :(得分:1)
此查询应包含tour-dates
字段中包含信息的所有event_map
个帖子。
$new_loop = new WP_Query( array(
'post_type' => 'tour-dates',
'posts_per_page' => -1,
'meta_query' => array(
array(
'key' => 'event_map',
'compare' => 'EXISTS'
)
)
) );
我不确定你用什么来显示地图,所以除此之外我无能为力。
答案 1 :(得分:1)
获取具有此类帖子类型的帖子并在其上循环,然后使用ACF API get_field
(第二个参数让我们定义您的自定义字段值所属的帖子ID)。
<?php
$tours = get_posts( array(
'post_type' => 'tour-dates',
'posts_per_page' => -1
));
if( !empty($tours) ): ?>
<div class="acf-map">
<?php foreach($tours as $tour): ?>
<?php
$location = get_field('event_map',$tour->ID);
if( !empty($location) ): ?>
<div class="marker" data-lat="<?php echo $location['lat']; ?>" data-lng="<?php echo $location['lng']; ?>"></div>
<?php endif; ?>
<?php endforeach; ?>
</div>
<?php endif; ?>