我需要创建一个系统,用户首先选择州,然后选择城市,然后查看该城市中商店的信息。
为此,我创建了一个名为store的cpt,其中包含两个元框:state和city。
对于第一个下拉列表,我使用带有以下参数的wp\\u查询:
$args = array(
\'post_type\' => \'store\',
\'posts_per_page\' => -1,
\'meta_key\' => \'state\',
\'orderby\' => \'meta_value\',
\'order\' => ASC,
);
但它会返回重复的状态,因为同一状态下有多个存储。
我如何解决这个问题?我曾想过使用mysql DISTINCT,但不知道这是否可行。
UPDATE
完整循环:
$args = array(
\'post_type\' => \'store\',
\'posts_per_page\' => -1,
\'meta_key\' => \'state\',
\'orderby\' => \'meta_value\',
\'order\' => ASC,
);
function search_distinct() { return "DISTINCT"; }
add_filter(\'posts_distinct\', \'search_distinct\');
$the_query = new WP_Query( $args );
if ( $the_query->have_posts() ) {
echo \'<ul>\';
while ( $the_query->have_posts() ) {
$the_query->the_post();
echo \'<li>\' . get_custom_field(\'estado\') . \'</li>\';
}
echo \'</ul>\';
}
wp_reset_postdata();
remove_filter(\'posts_distinct\', \'search_distinct\');
但过滤器不起作用