好吧,我有一个非常荒谬的解决方法,它最终会多次运行查询(我相信我会在对此的评论中被撕碎),但它现在起作用了,就这样吧。
只有当您确切知道要在哪些字段之间进行排序时,这才有效。我有一个按字母顺序排列的城市列表。我知道只有这些城市(我想你可以运行一个单独的查询来从数据库中获取这个数组,但我不想再进行查询)
<?php
$listOfCities = array(\'burnaby\', \'delta\', \'ladner\', \'new westminster\', \'north vancouver\', \'richmond\', \'tsawwassen\', \'vancouver\', \'white rock\');
foreach ($listOfCities as $cities) {
$args = array(
\'post_type\' => \'properties\',
\'meta_key\' => \'pd_city\',
\'meta_query\' => array(
array(
\'key\' => \'pd_city\',
\'value\' => $cities,
\'compare\' => \'LIKE\'
)),
\'order\' => \'ASC\'
);
$the_query = new WP_Query( $args );
if ($the_query->have_posts()) : while ($the_query->have_posts()) : $the_query->the_post();
echo get_field(pd_city);
endwhile; endif; wp_reset_postdata();
}
?>
尽管客户端希望它以不同的方式订购,但由于它是根据阵列中的第一个到最后一个来处理它,我只是将阵列更改为:
$listOfCities = array(\'vancouver\', \'richmond\', \'burnaby\', \'new westminster\', \'north vancouver\', \'white rock\', \'delta\', \'ladner\', \'tsawwassen\');