我在主页上有一个搜索表单,在下拉列表中包含ACF自定义字段值。提交时,表格转到/测试结果/。
在表格上,我有价格、地区和头衔的下拉列表。如果我选择前两个,那么搜索结果可能是:/test results/?价格=500-1000;地区=地点2
如何使用循环来显示使用url中任何上述选定字段的帖子?因此,在上面的示例中,它将列出所有价格值为“500-1000”且位于“Place2”区域的帖子
如果您能为我指出正确的方向,我们将不胜感激
sample test: URL WAS/测试结果/?价格=&;区域=位置3,且未拉入acf值集为位置3的任何测试位置
<?php
$queryPrice = explode(\'-\', $_GET[\'Price\']);
$queryRegion = $_GET[\'Region\'];
$args = array(
// all your args here
\'post_type\' => \'resorts\',
\'meta_query\' => array(
\'relation\' => \'AND\',
array(
\'key\' => \'price\',
\'value\' => $queryPrice,
\'type\' => \'NUMERIC\',
\'compare\' => \'BETWEEN\',
),
array(
\'key\' => \'region\',
\'value\' => $queryRegion,
\'compare\' => \'=\',
),
)
);
$query = new WP_Query( $args );
while ($query->have_posts()): $query->the_post();
?>
<h3>
<?php the_title();?>
</h3>
<?php endwhile; wp_reset_query(); ?>
最合适的回答,由SO网友:alpipego 整理而成
使用$_GET[\'Price\']
和$_GET[\'Region\']
从url获取价格和地区值,并将其添加到查询参数中。没有任何代码就很难开始,但请尝试以下操作
$queryPrice = (strpos($_GET[\'Price\'],\'-\') ? explode(\'-\', $_GET[\'Price\']) : array($_GET[\'Price\'], $_GET[\'Price\']));
$queryRegion = $_GET[\'Region\'];
$args = array(
// all your args here
\'meta_query\' => array(
\'relation\' => \'AND\',
array(
\'key\' => \'your_acf_price_field\',
\'value\' => $queryPrice,
\'type\' => \'NUMERIC\',
\'compare\' => \'BETWEEN\',
)
array(
\'key\' => \'your_acf_region_field\',
\'value\' => $queryRegion,
\'compare\' => \'=\',
),
)
);
$query = new WP_Query( $args );
在中查找更多信息
acf documentation 或打开
wpse