我不知道WordPress有什么特定的方法可以从查询中排除重复的标题帖子,我相信有多种方法可以解决这个问题。想到的解决方案是将每个帖子标题存储在一个数组中,然后在输出帖子之前检查该标题是否已经存在。
一些未经测试的快速代码:
<?php
$args = array(
\'post_type\' => \'packs\',
\'order\' => \'ASC\',
\'orderby\' => \'title\'
);
$the_query = new WP_Query( $args );
// array to store cities
$unique_cities = array();
if( $the_query->have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post();
$city = get_the_field(\'departures\');
// only create option if city hasn\'t been added yet
if( ! in_array( $city, $unique_cities ) ) :
// add city to array so it doesn\'t repeat
$unique_cities[] = $city;
?>
<option value="<?php echo $city; ?>"><?php echo $city; ?></option>
<?php
endif;
endwhile; endif; ?>
另外,请注意我认为您打算做的另外两个小改动:
添加了orderby
WP\\u查询的参数,以便将城市列为A-Z。首先固定have_posts()
因此,它正在测试您的自定义查询